↑これの話です.
時は遥か昔の 2012 年のこと.TopCoder Open という大会がフロリダで開催されていました.
真面目な参加記がここ http://d.hatena.ne.jp/iwiwi/20121009/1349796114 にあります.真面目な参加記によると,当時絶好調だった僕は,アルゴリズム部門のオンライン予選を突破しオンサイトに進出.さらに Semifinal Round でそこそこの順位を獲得し Wildcard Round に進出.そして,0 完続出の悲惨なスコアボードの中,単独で 1000 点問題を正解し 1 位で Final Round へ進出.Final Round での結果は残念ながら芳しくなかったものの,Wildcard Round での活躍が(多分)讃えられ,TopCoder Spirit Award を受賞しました.
……とてもいい話です!実際,この Wildcard Round は僕のプログラミングコンテスト人生において最も印象に残っているラウンドかもしれません.それどころか,結果発表にて僕の 1000 の正解がアナウンスされた瞬間は,僕の今のところの人生全体においても最も興奮した瞬間なのではないかとも思います.
オンサイトでのシステムテストの結果は,下の動画のように,ステージ上の画面で発表されます.(※この動画は Semifinal 1 のものです.Wildcard のものは無かった.)順位が下の人から 1 人ずつ発表されていき,通っていれば得点が確定,しかし落ちていれば得点を失い順位が下る.自分の結果が発表されるまでに発表された他の人達の結果は 250・500 共に大部分が fail でした.スコアボードがどんどん悲惨になっていったところで,なんと,1000 に唯一提出されていた自分のコードが pass!! これはたまらない!!! (贅沢を言うならば,このような奇跡が Wildcard Round ではなく Final Round で起こってくれていればもっと良かった……)
僕は,オンサイトでは 1000 から開く戦略を比較的よく採用します.この Wildcard Round でも 1000 から開きましたし,1000 を解ききることができたのはその作戦のおかげだと思います.
しかし,Wildcard Round の Coding Phase の後半では,実は以下のように絶望的な気分でした.
というような感じで,「せっかく出だしは良かったのに,もう負けたな」と絶望的な気分になりました.冒頭の写真のようにコードに return "I hate math"; なんていう文を一時期コードに入れていたのは,こういう経緯です.1000 を提出し注目されていたこともあり,その状況は TCO'12 公式ブログの Petr による実況にすら記載されました.
勿論最終的にはその文を取り除き,若干やけくその嘘解法を送りましたが,案の定落ちました.しかし,蓋を開けてみればそんな絶望の必要はなかったようでした.
というわけで,弁明させて頂くなら,僕は数学自体が嫌いなわけでは勿論ないです.ただ,コンテストをやっている人たちの一部は,僕よりずっと数学ができるという印象があります.数オリのメダリストが珍しくない世界ですし,実際,チーム戦ではおめさん (ICPC) やキタマサ (それ以外でたまに組んでた) が発揮する謎の技術が理解できないことも少なくなかった.なので,コンテストで数学ゲーが出ると相対的な能力の差により不利なので,大事なところでこれは勘弁してくれ~という気持ちだったということです.
TCO'13(ワシントン DC)の Semifinal 1 では,ir5 が "I hate math" をやってました.
そして昨日の TCO'14 の Online Round 2B でもつぶやかれていました.
!!!!! I HATE MATH !!!!!
I hate math.
I hate math
500は解説ツイート読んでもわからない。I hate math.
(念のためですが僕の直前のツイートのそれは URL こういう文脈で用いられる慣用句です)
やはり数学ゲーは辛い!!!