12 月 7 日にコワーキング・スペース MONO で行われた, (株)リクルートホールディングス主催のフェス型プログラミングコンテスト, CODE THANKS FESTIVAL 2014 に参加した.
会場到着からコンテスト開始まで
会場の最寄り駅に到着:
I'm at テレコムセンター駅 (Telecom Center Sta.) (U09) - @yurikamome_info in 江東区, 東京都 https://t.co/mP1j4edAmC
— jun (@nahcnuj) December 7, 2014
西と東を間違えて
14階に辿りつけない
— jun (@nahcnuj) December 7, 2014
14 階のエレベータホール前で
誰が誰かわからんな?
— jun (@nahcnuj) December 7, 2014
受付開始. T シャツを貰って席につく.
座席番号71です
— jun (@nahcnuj) December 7, 2014
ハンドルネームを誤字る. (jun でも良かった)
ハンドルネーム誤字ってnahc■nujになってしまった
— jun (@nahcnuj) December 7, 2014
目標:
目標はn完です (n∈ℕ)
— jun (@nahcnuj) December 7, 2014
5 問正解でトートバッグがもらえると聞いて
5完目標にします(たぶんできない)
— jun (@nahcnuj) December 7, 2014
chokudai さんにサインを貰う.
蟻本に直大さんのサインをもらう参加者 (自分はちゃんと(?)チーター本に書いてもらいました) #codefes https://t.co/pngCDVqVOx
— jun (@nahcnuj) December 7, 2014
こんな感じでした.
コンテスト
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 した.
4完勢にトートバッグ惜しかったで賞欲しい
— jun (@nahcnuj) December 7, 2014
(切実)
コンテスト解説
A, C は解説と同じだった. B は最初の 3 つを貪欲に選んで良かったみたい. D は if 文使わない方法もあるんだ, へー, と思った (小並感). E は, 各操作が可換なことから, 操作を忘れなかった場合を求めておいて, それに忘れた操作を Undo (?) すれば良いと聞いて, 若干そんな気がしてたようなしてなかったような感じになった. F はコーナーケースでも解説されるでしょと思ってたけど,そんなことはなかった. G, H はチラ見しただけだったのでよく聞いてなかった (良くない. H のハッシュは聞いてた).
懇親会
ひたすらコミュ障していた.
感想
トートバッグもらえないのめっちゃ悔しかった.
来週は CODE THANKS FESTIVAL 2014 B日程にオープン参加するつもり日本情報オリンピック 2014/2015 予選の方に参加することにしました (2014/12/13 追記).