Monthly Archives: 7月 2014

ICPC Domestic 2014

ICPCの担当の2年のヘクトです.

7月11日にあったICPCの国内予選(http://icpc.iisf.or.jp/2014-waseda/domestic/)にmccからPython && JavaScript != Javaと/^^^ Mt.Fujiの2チーム参加しました.

結果は両チームとも4完して,Python && JavaScript != Javaが30位で,/^^^ Mt.Fujiが40位でした.

以下は,私が参加していた/^^^ Mt.Fujiのチームの方の参加記です.使用言語はC++です.

大会開始
一人がAを読みながらコーディング,もう二人がB以降の問題を見ていこうという方針で取り組んだ.
AとBはチームメンバーに任せて,Cにとりかかり最初は二分探索でいけると考える.
D以降は問題だけを把握して後回しにするという方針でした.

30分後くらい

Aのコーディングをしていた人がサンプル通らない状況だったので,ペアプロを行う.
うまい方法を考えようとしていたけど,そんなことせずに全探索すれば良いという方針を思いつき,AをAC
そして,紙コーディングを終えたメンバーにBの実装を行ってもらう.
残った二人で改めてD以降を見ていく.すると,チームメンバーがAを解いた直後なので最大2^20乗パターンの文字列を試せばよいことに気づく.
紙コーディングを行う.

1時間15分後くらい

Bのコーディングをしていた人が行き詰ったので,ソースコードをプリントして,Dの実装に移る.
そして,Dを書き上げたのでサンプルをチェックして,通ったので提出する.WA
ここで,vectorに突っ込んでいる事に気づき,setに書き直す.WA そして,暗号化の部分がミスしていることに気づき,修正 AC
並列して,Bの実装に問題があることに気づき,コーディングを交代する.

1時間30分後くらい

Bを修正するも,サンプルが1つ通らない自体に連鎖の消去部分に問題があったらしいので修正する.B AC

2時間後くらい

Cに取り掛かる.コーディングするも,無限ループになる.nとrの入力順序を逆に読み込んでいることに気づく.
なおも,正しい答えを出さない.19時前後にPCがシャットダウンするトラブルに見舞われる.再起動する.

そして,間違って出た答えを視覚化すると間違って判定されているケースがあることに気づく.ここで,二分探索という方針を捨てて,誤差が10-^3秒まで許容されることから,10^-4秒刻みでシミュレーションを行う.
サンプルが合う. C AC

2時間50分後くらい そして,Eについて考える.思いつかないで終了

もう一つのチームはABCEの4つをC言語で通したそうです.強い (できれば,もう1チームの方参加記書いてくれないかな…)