Hatena::Grouptopcoder

敗戦記

2011-02-27

Maximum Winter-Contest 2011

| 10:35

一応参加しましたが、惨敗でした。あんまり思い出したくないですが、書いておきます。

開始

A

  • 蟻本に載っていたしゃくとり法だということを思い出し、本のページをめくりながら書きました。
  • 30分ぐらいかかってアクセプト。

B

  • 読む。
  • いろいろと考えてかかる。
    • 着弾地点が2個以下の時は発射基地が無数にあるのではないか。
    • 同一の点があるのではないか。
    • 並行に3つ並んだ点の出現。
  • 外心の計算が面倒臭かったが、紙に書いて移す。
  • だいたい書いてサンプルが通った後提出してWA
  • ここらへんですでに息切れ。

C

  • 解いている人が多い。
  • 読む。ナップザックっぽい。が、どうすればいいのかよく分からない。
  • ダイクストラっぽくやろうとした。
    • 書いたやつがバグっていて、あまりに汚かったので、直す気力が尽きた。

G

  • これも解いている人多い。
  • 読む。BFSすれば終わりか?
  • 書く。サンプルでた。
  • 出す。RE。上の階が無いときも上に行こうとしてた。
  • 修正。WA。もうダメだ。
  • 取り敢えずソースコードとにらめっこしてましたが、どこがだめなのか分からず・・・。

F

  • これもそこそこ解いている人いるなぁ。
  • 読む。BITだというのはすぐ分かったけれど、一次元もろくに実装したことのない自分には無理でした。

こんな感じで結局1問しか解けずに終了しました。

なにはともあれ、コンテストを開いてもらえたのはとてもありがたかったと思います。

2011-02-26

Codeforces Beta Round #58

| 11:14

いろいろと混乱させられた回でした。個人的にはそこそこ楽しめたんで満足ですが、不満のある人もやはり結構いるみたいですね。無料で参加させてもらえているので、あまり文句を言うのはどうかとも思わないでもないです・・・。(自戒)

ROOM 11

A

  • 取り敢えず、読む。
  • えっと、手を握るときに、女の子の手の指の間には必ず男の子の指が1本ある?
  • 書く。プリテスト通らない。
  • 訂正きた。
    • 男の子指はお互いにくっついているものが3本以上あるとだめ?(誤読)
    • 通らない。
  • 取り敢えずB行く。

B

  • 読む。把握した。
  • サイズ的に大きすぎることはスルー。というか、「え、分からない。」と思ってしまい、Aを通せてなかったこともあって、焦った。
  • 書いた。findとかrfind使えばいいのに、なぜか泥臭く書いてしまった。
  • プリテスト通過。

C

  • 読む。幾何無理です。
  • 取り敢えず、Aに戻る。

A

  • 読む、誤読したままいろいろ試行錯誤したが、誤読のせいでプリテスト通過しない。
  • Cが解けそうにないので、これを解くしかないのだが、解けてなくてしょげる。

Hack

  • 取り敢えずBで自分の書いた解法だとTLEするかどうかを確かめることにした。
  • 出力を吐くプログラムを書く。出力の形式をミスる。訂正。
    • sは100000文字の'a'で、cが99900文字の'b'という構成にした。
  • 自分の書いたプログラムに食わせる。終わらない・・・・。
  • ハックすることにした。
  • その時点で自分と同じ方針のプログラムが2つあったのでハック。
    • Successful hacking attempt
  • で、Aを解こうといろいろともがいていたのですが、誤読が終わるまで誤読のままだったので無理でした。
  • このまま寝ても良かったのですが、Bを単純解法で書いてくる人がいると思ったので、それ狙いで待機。
    • その後一人だけきたのでハック。
  • 後の人は全員パッと見TLEしそうな感じではなかったので冒険はしませんでした。
    • というかこの部屋の人達が優秀な感じに思えてしょうがなかった。
    • ちゃんと計算量のこと考えるもんなんですね。
  • 最終的に300点獲得。

System test

  • Aは提出していないし、Bも少なくともTLEには引っかかるであろうことは分かっていたので途中で寝ました。
  • 結局BはWAで落ちてましたが、テストケースがでかすぎて見られないので、原因がよく分かりませんでした。

反省(感想)

  • 取り敢えず、Hackは楽しいです。でもそれしか出来なかったので、しょうもないという感じですね。
  • あと、英語力がないせいで悲しい感じに・・・。問題文の空気をよめるようにまでなれるといいのですが。

not ratedを選択できるというので、当然not ratedです。

2011-02-25

Codeforces Beta Round #57 (Div. 2)

| 09:20

ちょっと前のやつですが、参加記録をつけます。

DIV2 ROOM10

A

  • ひらいてすぐ書いて終わり。
    • ・・・のつもりが、stringの要素が^に対応していなくて(コンパイルエラーが出た)、型キャストも書いた時は何かをミスっていたようでうまく動かなかったので、intに代入して、計算。

3分

B

  • サンプルを見る。すぐに文字列から';','-','_'を除いて、全てを小文字に変換する関数を書く。
  • 変換したあとの文字列に3つの入力が含まれていたら、ACCにした。

11分

C

  • 読む、長い・・・。
  • Dを解いている人が多かったので、さきにDに行く。

D

  • 読む、解答の方針が思いついたと勘違いする。
  • グラフの端っこから枝分かれか1のノードまでの距離の最大値を全コスト×2から引くという方針になった。
  • サンプル通り、プリテストも通過してしまう。

37分

E

  • 取り敢えず読む。
  • サンプルの一個目から、分からなくて戸惑う。
    • 勘違いだった。
  • 入力がでかすぎるので、n^3で書けたら簡単だけど絶対に間に合わない。
    • あとあと簡単に書けばプリテストは通過出来るこの問題に助けられる。
  • 取り敢えず飛ばす。

C

  • 戻ってくる。
  • 面倒くさいと思いながら実装開始。(いろいろと見落としてます)
  • 入力のbとcを全部文字列にして、10進整数→n進数文字列とn進数文字列→10進整数変換する関数を書く。
  • ローマ数字の変換もゴリゴリと書いた。
  • プリテスト通過。

1時間5分

E

  • ずっとO(n)解法があるのかと思っていろいろ考えたが結局分からず、ROOMに提出者が結構いたので、撃墜出来るかと思って簡単解法を書いて送った。
  • プリテスト通過。

1時間44分

Hack

  • 取り敢えず、Eはあきらめてロック。
  • 100000個の要素を並べた入力を吐くプログラムを書く。
    • 送ろうとしたら20kまでのサイズしか送れないとか返ってきた。(500k)
    • 無理ゲーじゃね?とか思い始める。
  • 入力を吐くプログラムのソースを送りつけてみる。
    • 入力の最後に改行がついてないとかで跳ね返される。
    • 改行付けた。送った。Successful hacking attempt
  • 一気に7人落とせた。
  • ひとりだけまともに書いてる人がいて、その人は落とせなかった。(がシステムテストは落ちてた。)
  • 取り敢えず650点もらってウハウハ。

システムテスト

  • A以外全部落ちるorz
  • Bは全順序を試していなかったため、Cはlong longの見落としとか、0の時にいろいろとミスっているとか、Dは根本的に考え方ミスってる。机上デバッグ大事。
  • Eは落ちることは想定内。

反省

  • 見落としとかは良くないですね。もっときちんと自分の解答と問題を照らし合わせるべきでした。
  • 終わったときは本当にショックでしたが、これも含めて実力。
  • 取り敢えずコドフォは解いた問題を向こうの方でリスト化してくれるぶん、自分にとってはTopCoderより使いやすいので、ほそぼそと解きながら初手アクセプト狙いに行こうと思います。

1445->1364

はじめてみました

| 09:24

大学が春休みに入り暇になったのと、プログラミングコンテストの参加記を結構書いている人がいて、読むのが面白いので自分も参加記録のようなものを付けてみようと思いました。

オンラインジャッジの問題に関する感想なんかも載せるかもしれません。

ソースコードはあまり見せられたものじゃないので、載せるかどうかは分かりません。

http://d.hatena.ne.jp/atetubou/

オンラインジャッジに関するものはこちらで書くことにしました。

タイトルの通り、主にボコボコにやられた愚痴が主流になるかと思いますが(あと、続く保証もないですが)、よろしくお願いします。