Treeone’s Blog

競技プログラミングの記録など

ACM-ICPC 2018 国内予選 参加記

2018年7月6日(金) に行われた ACM-ICPC 国内予選に参加した.
結果は21位 (大学別9位) で無事国内予選を突破.

国内予選結果 | ACM-ICPC 2018 Asia Yokohama Regional

f:id:treeone:20180715014152p:plain

チーム紹介

今年のチーム名は konjo_jam で,メンバーは Treeone, T1610, 後輩氏.
去年の yellow_jam から先輩が抜けて後輩氏が新たに加わった.


当日まで

今年もチームメンバー全員が集まったのはプロコンサークル内でのチーム決めの時だけ.去年よりもチームの戦力が落ちていて国内予選を突破できるか不安になる.AOJ-ICPC を全然解いていなかった Treeone さんが予選当日までに 100 問くらい埋めていた.えらい.

国内予選当日

[-2:00] 大学の ICPC オンサイト会場に到着.今年は弊学から 4 チーム参加した.

[-0:20] 大雨の影響で T1610 が別のキャンパスから来られなくなり,特別措置を申し込む.

[0:00] 問題文を印刷し,A 問題を後輩氏に任せる.

[0:06] A 問題を AC.後輩氏には C 問題を読んでもらい,Treeone が B 問題に取り掛かる.連鎖消滅パズル並みの虚無.まぁ卓越したコーディングスキルをお持ちなのでね,このくらいは.

[0:11] 大雨による特別措置が認められ,T1610 がリモート参加できることになった.D 問題以降を読んでもらう.

Treeone さんが B 問題をバグらせていてつらそう.後輩氏が C 問題を書けそうなので交代する .
後輩氏もバグらせていてつらそう.何回か PC を交代する.

[0:50] 順位表を見ると B より C の方が解かれていたので,後輩氏の C 問題のコードを読むことにした.計算式が間違っているのを見つけて修正.サンプルが合う.
[1:03] C 問題を AC.

B 問題のバグっている場所を見つけて修正する.サンプルが合う.投げてみる Wrong Answer 悲しいね.
またバグを発見して修正.何故かもう 1WA を叩き出してしまう.
初期化を忘れていた.頭が付いてない.
[1:23] B 問題を AC.

後輩氏から D 問題の概要を聞く.ワクワク枝刈り全探索を実装しようとしていると,T1610 が半分全列挙でできると言うので任せる.
[2:03] D 問題をAC.

D の実装を任せている間に E, F, G を読んでいた.F は幾何で G は構文解析っぽい.人間に解ける問題に見えない.E の浮動小数点数の話は 5 億年ぶりに見た.2 年前期必修のコンピュータアーキテクチャ以来.浮動小数点数の気持ちになると,指数部が変わるときに仮数部の最下位 bit の情報が失われるので,指数部が変わるタイミングを頑張って求める.サンプルが合わないので,気合いでサンプルを合わせる.さすがに合ってる訳ないよな〜と言いながら投げてみる Correct Answer さすが僕.ありがとう,コンピュータアーキテクチャ
[2:39] E 問題を AC.

この時点で 48 位から 17 位に上がる.やっと予選突破を確信できる順位になって安心する.

[3:00] 最終結果は21位.予選突破できるか不安なレベルだったので,個人的にはかなり良い結果.サークルの他のチームは例年以上に冷えていた.弊も 2 チーム通過できるようにならないかなぁ.

反省

途中まで南極並みに冷えていて危ない.一人がリモート参加だったとはいえ,チーム内の連携には課題が残った.つりーわんしゃんが AOJ-ICPC を全然解いていないので,アジア地区までに精進してほしい.

最後に

うしくん焼いて食べるぞ🍴🐮🔥