12 月 7 日にコワーキング・スペース MONO で行われた, (株)リクルートホールディングス主催のフェス型プログラミングコンテスト, CODE THANKS FESTIVAL 2014 に参加した.
会場到着からコンテスト開始まで
会場の最寄り駅に到着:
西と東を間違えて
14 階のエレベータホール前で
受付開始. T シャツを貰って席につく.
ハンドルネームを誤字る. (jun でも良かった)
目標:
5 問正解でトートバッグがもらえると聞いて
chokudai さんにサインを貰う.
こんな感じでした.
コンテスト
A 問題
頭が回ってなくて, 入出力例を見てようやくカメとツルの足の本数を把握する.
00:55 (開始から 55 秒後, 以下同様) に Accepted (AC).
B 問題
読む.
あー, 見たことあるけど解いたことないなー.
貪欲で行けないかな~.
(それ以上考えてなかった.)
全探索でいけることに気づいて実装.
main 関数の最初で宣言してた変数を for の中でまた宣言してて 2 Wrong Answers (WA).
そのあと気づいて修正, 10:45 に AC.
C 問題
めっちゃ簡単, やるだけ.
13:20 に AC.
D 問題
なぜか全探索を実装, 当然 Time Limit Exceeded (TLE) (WA なケースもあった. 1 つだけ AC).
a,b,s,t の大小関係を全通り図に書く.
それを見ながら間違った条件分岐を実装, WA (また 1 つだけ AC だった).
冷静になり, えっなにこれはと思いながら修正, 55:26 に AC.
ここまで順調
1 時間以内に 4 完, これは 5 完いけるでしょ, と思った.
E 問題
何も考えずに な全探索を実装, 当然 TLE.
そういえば剰余って遅いんだっけ.
そう思って if 文に書き換えるも TLE.
(時間計算量は変わってないので当たり前.)
入力時に石像の状態求めておけば早くなるんじゃね? などと思って変更, 提出.
なんか Runtime Error (RE) だらけ.
あれ?
5 完阻止されている気分になる.
F 問題
一度 F 問題を読んでみる.
いろいろ図を描いてるうちに, グラフっぽい, 自分より上の人数数えればいいんじゃね? と思いつく.
幅優先を実装, しかし WA.
順位関係の情報に高橋君 (参加者 1) が入ってない (1 3
とか 3 1
とかがない) ことあるんじゃね? と思って修正するも WA.
三項演算子を if 文に変えてみる.
当然 WA.
提出結果をよく見てみると, (参加当時) 最後の 5 つだけが WA になってた.
えー, コーナーケースあるの...?
なんだろう...
また E 問題
列のループの条件をミスってて無限ループしてた.
修正して提出, WA (と TLE).
オーダーを下げる方法が思いつかない.
もう一度 F 問題
コーナーケースを考えてみる.
......
思いつかない.
適当に弄って投げまくる.
もちろん全部 WA (最終提出は 174:50).
諦め
トートバッグもらえないのめっちゃ悔しかったけど, どうしようもなかった.
つらい.
最終結果
4 完 (A, B, C, D), 4 WA (B, D 各 2 WA), 52 位だった.
目標 (5 完) 達成ならず... (悔しい)
ちなみに, E, F はそれぞれ 6 WA した.
(切実)
コンテスト解説
A, C は解説と同じだった.
B は最初の 3 つを貪欲に選んで良かったみたい.
D は if 文使わない方法もあるんだ, へー, と思った (小並感).
E は, 各操作が可換なことから, 操作を忘れなかった場合を求めておいて, それに忘れた操作を Undo (?) すれば良いと聞いて, 若干そんな気がしてたようなしてなかったような感じになった.
F はコーナーケースでも解説されるでしょと思ってたけど,そんなことはなかった.
G, H はチラ見しただけだったのでよく聞いてなかった (良くない. H のハッシュは聞いてた).
懇親会
ひたすらコミュ障していた.
感想
トートバッグもらえないのめっちゃ悔しかった.
来週は CODE THANKS FESTIVAL 2014 B日程にオープン参加するつもり日本情報オリンピック 2014/2015 予選の方に参加することにしました (2014/12/13 追記).