ICPC2017国内予選参加記

1週間前に行われたICPC国内予選にdGFpc2VpeXVtYQ*1というチームで出ました。

Pietは今回は使わず、C++を用いました。 その参加記をここに残します。

コンテスト中の流れ

16:30

コンテスト開始。A問題を読み、全探索するだけなのでチームのエースに問題内容を伝えて実装してもらう。4分ほどでAC。

16:35~16:50

B問題を読んで、やるだけ問題なので一人後ろについてもらいながら適当に私が実装し、エンバグデバッグを少ししつつもAC。

16:50~17:00

エースがC問題を通す様子を、チーム全員で指摘しながら見守り、AC。

17:00~17:40

D問題は入力に応じて2つの解法に分ければよいという雰囲気だったので、エースに実装してもらう。ただ実行があまりにも遅かったので標準出力をファイルに流さず眺めていたら、なんとか数分で終わったのでそれを回答ファイルにコピーして提出した。ここでWAをもらい動揺するが、どうやらコピーしたときに最後に改行を入れたことが問題だったらしく*2実行に時間を掛けつつAC。DのACまでは開始から70分程しかたっていなかったのでここまでは順調。

17:40~

次にとりかかる問題を全員で考える。Gは右手法で行けそうな気がしたが、Gにしては簡単すぎて怪しいので他のチームが通したのを見てからとりかかるという話になった(今思うとGに取り掛かってもよかった気がする)。その後、僕がFの嘘解法をチームメイトに話し、少し実装した後にダメなことに気づいてFの実装を中断(このFの考察、あと少しで正解だったのでもう少し時間をかけて冷静に考察すべきだった。悔しい。)。

その後~

EがDPで解けそうとの話になったので、入力文字列を評価する部分を二人で実装しつつ、エースに解法を検証してもらう。その後、エースに最短文字列をdpで探索する部分を実装してもらう。このE問題の実装がかなり重く、デバッグを3人がかりでやったが結構時間をロスしてしまった。そして提出するもWA。この時点ではまだ数十分残っていた。そのあとバグをいくつかつぶしたが、残り十分で解法に不備があることに気づく。具体的には( ( a ^ b ) * ( c ^ d ) )みたいな二つと二つを演算するパターンが抜けていた。もう大きく修正する時間がなかったので、気合いでごまかそうとするが通せず終了。

結果

全体順位28位、学内順位4位で予選落ちです。大学を変えれば通過できる順位なので趣を感じますが、東大はもっとひどいので我慢です。

振り返ってみても5完、6完するチャンスは十分あったので悔しいです。来年はなんとか予選通過したい。

↓は順位表の一部です。(青色のチームが予選通過、左の数字が順位です。) f:id:basemusi:20170720091728j:plain

*1:チーム名の由来は極秘なので察してください

*2:大きく事故るチャンスなので皆さん気を付けましょう