ACM-ICPC 2014 国内予選参加記

九州大学のチーム # kotoshi koso namae wo kangae として参加*1
ABCDEを解いて12位.

発生した事案は時系列順に以下の通り.うろ覚えなのでもしかしたら間違っているかもしれない:

開始0分.
まずはF5キーを押す.すぐに開けないのは例年通り.
1分くらい経って問題を閲覧できたので,1部印刷.
Aをチームメイト1に,Bをチームメイト2に任せ,私はCを読むことにする.

C読んでみる.
幾何っぽい図がある.嫌な予感がする.
問題文の読解に時間かかる.
なんとか理解できたので解法を考える.
「y軸に平行な直線で太陽をぶった切れば,あとはやるだけ」ということにすぐ気付く.
幾何だけど,幾何じゃなかった.
2年前までのCは割と実装問題が多かった気がする*2ので警戒していたが,今回は実装軽そう.
解けることを確信.

チームメイト2に状況を聞いてみる.
ただのシミュレーションらしい.
D問題を読んでもらうことにする.
その間にEの問題文を読む.
どう見てもこれにしか見えない.
解けることを確信.

チームメイト1の様子を見てみる.
Aで詰まっていたようなので,代わりに解くことにする.
Aの問題読んでみる.何か面倒そう.
制約見てみる.Aらしく小さい.
税抜き前の価格全探索するのが楽そうなので,その実装にする.
税抜き前の価格として0円がありうるのか気になる.記述を探す.ありえないということがInput欄に書いてある.なぜそこに書いた.
とりあえず書く.色々ミスりながらも,書き終わる.サンプル通る.投げる.18分くらいでAC.

チームメイト2にBを任せる.
その間にDを読んでみる.
ただの探索っぽい?
実装量よく分からないので,確実にできるEを先に解くことに決める.

チームメイト2がBを書き終わる.
サンプル通らない.
コード印刷して,紙デバッグしてもらう.
交代して,私がC書き始める.
書いている途中でBのバグ見つけたらしいので,再度交代.B修正してもらう.
修正はすぐ終わる.サンプル通る.投げる.36分くらいでAC.
交代してCの続き書く.書き終わる.サンプル通る.投げる.41分くらいでAC.

Dより先にE書き始める.結果的には失敗だったかもしれない.
木の直径を線形時間で求める方法が重み付き木でも使えるかどうか自信なかった*3ので,幅優先探索をn回繰り返すことにする.nの上限は800なので余裕.
書き終わる.サンプル通らない.よく見たら入力形式間違えてる.
修正.サンプル通らない.葉の処理ミスってた.
さらに3回くらい修正.ようやくサンプル通る.投げる.56分くらいでAC.

そのままD書き始める.
あっさり書き終わる.サンプル通る.投げる.65分くらいでAC.
この時点で3位*4.6完以上がそんなに出るとは思えないので,この時点で国内予選通過をほぼ確信.
以降は割と気楽にやる.

F読んでみる.
Fはサイコロ.そういえばサイコロを持って来なかったことに気付く.失念していた.
impossibleかどうかの判定方法が分からない.チームメイトに任せてみる.

Gは面倒そうな幾何.できるか分からないけどやってみることにする.「どうなってもいいよね?」とチームメイトに聞いてみたが,大丈夫らしい.好きなようにやることにする.
色々書いてみる.ダメそう.頭付いてない.
結局何もできないまま,国内予選終了.

結局,全体で12位.学内1位なので国内予選通過確定.

後日,Gの解法を師匠*5に聞いたら,3つ以上の円が共通部分を持たないという制約から,割と簡単に解けるらしい.思いつかなかった.やっぱり私はまだ幾何初心者らしい.

全体を通して,WAが1回も出なかったので,その点は良かった.
6完できなかったのは残念だけど,仕方ない.

*1:昨年のチーム名は // ato de namae wo kangaeru

*2:昨年は軽かった

*3:実際には使えたらしい

*4:上は東大しかいなかった

*5:@Mi_Sawa