2010年7月3日土曜日

ACM/ICPC国内予選

ACM/ICPC国内予選 7/2 16:31~19:31

そして約1週間後,国内予選本番が始まりました.

問題と順位表はこちらから.

■チーム紹介
・大学名
Tokyo National College of Technology
・チーム名
nyama
・メンバ
todo
nyama
ando

■当日の流れ(時間はおおよそ合ってる)
16:31~
問題を印刷後,todoがテンプレを打ち込む.その間nyamaとandoが問題解析.

16:35~
2人の問題解析の結果を聞いてtodoがAを実装.若干ひよったためandoに助太刀してもらう.実装後は一発でAC.

17:00~
todoがBを実装.基本的にはただのBFSだが,壁であるかどうかの判定が怪しかった.更にこの時点で完全にtodoがひよってしまい,BFSを冷静に書く事が出来なかった.どうにか組んだもののWA.デバッグしても原因がわからなかったので,Cに移る.

17:30~
Cを解く,問題解析はすでに終わっていて,DPで解けるということが判明していたので,ある程度サクサクと組む.サンプルが通ったため,入力ファイルを落として試してみた所,挙動がおかしい.出力が非常に重い.andoより,関数呼び出し毎にnewするのではなく最初にだけnewすれば無駄に時間がかからない,と助言してもらい修正.AC.

17:55~
Bのデバッグに復帰.冷静に考えた結果,LinkedListをQueueとして使うはずなのに,pushとpopを用いていた.恥ずかしい.addLastとremoveFirstに修正後AC.

18:05~
ここまで来て実装担当のtodoが完全に疲れてしまったので,andoにEの実装を受け渡す.その間,todoとnyamaでDの実装について考える.木構造を作りDFSのように再帰的に重心を更新していけば判定が出来るという所までは分かった.

19:00~
Eのバグがとれずandoダウン.回復したtodoがDの実装を開始する.脳内コーディングは70%以上完了していた&神が降臨したため,尋常ではないスピードでコーディング.重心の更新式の間違いをandoに指摘してもらいつつ実装完了.が,挙動がおかしい.再帰呼び出しの際にxとyを逆にしてしまったのが原因であったが,暫く気付かなかった.その後色々早とちりを修正したらサンプルが通った.入力1はACしたが,焦っていた為入力2に対し入力1の出力を提出してしまいWA.この時点で残り10分を切っていたが,一旦心を落ち着けた後,入力2,3に対してAC.4問正解したのでStandingsを見てほっと一息.残り5分を切っていたのでこれ以上は何もしなかった.

19:31
終了.

■結果
○○○○×××
順位 - 14/288
大学別順位 - 7/68

模擬予選と同じ順位.アジア地区予選進出決定.

これが東京高専の本気(キリリリッ

■感想
模擬予選と同じ順位でほっとしています.もし,本番での順位がもっと低かったら模擬予選での順位はマグレだったという事になるからです.
今回は,実装担当のtodoの調子が中々上がらず,序盤では随分とヘマをしてしまいました.仮に1人でやっていたら,せいぜい2問程度しか解けなかったと思われます.また,全体的に俄か仕込みで臨みましたが,実装をtodo,問題の解析をnyamaとandoと役割を(序盤では)完全に分離したのが功を奏しました.加えて,実装中は(主に)andoにチェックしてもらったのがバグ抑制に繋がりました.単独で実装すると,どうしてもちょっとしたミスが出てきてしまい,そこに気付かずにハマる,というパターンが多いためです.これらはチーム戦特有の作戦だと感じました.また,最後の勝因はラスト30分の追い込みでした.はっきり言って残り30分でDを実装できるとは思いませんでした.もしかしたら,標準的な人間の域を脱することがそろそろ出来るかもしれません.気のせいかもしれませんが.
チームのメンバーにとっても,東京高専全体にとっても,ICPCへの参加は初でしたが,恥ずかしくはない成績だと思います.

…でも,これはあくまで国内予選.

アジア地区予選ではまた別次元ですので,あと5ヶ月でそのレベルまで到達しなければなりません.
各人課題が見えたので,本格的にトレーニングを開始する…ということで….

0 件のコメント: