飲酒プログラミングコンテストはやばい会だった
飲酒プログラミングコンテスト(通称,飲酒プロコン)という,最悪なイベントが行われた.
ルール
- 参加者には問題を1問読む権利が与えられている.
- ビールを1缶開けるごとに次の権利が両方共得られる
- 1回提出する権利
- 新しい問題を1問を読む権利
全完するためには問題数-1缶のビールを開ける必要がある. また,WAを出してしまった場合,再提出するためには新しいビールを開ける必要がある. しくじると大量のビールを飲む羽目となる.
様子
大量に用意されたビール.破滅への道.
今回は先輩がビールの全額を出してくれたので感謝しかない(というかそうでもない限りやる気がでない)
大量に用意された焼き鳥が焼かれる様子.
業務スーパーの焼き鳥(プレーン)にアメリカンミックスソルトをかけるとうまい.
経過
このコンテストではビールを飲むタイミングと問題に取り掛かるタイミングを考えることが大事となる.
2時間のコンテストで,問題ごとの得点は300-400-500-600-700-2400であった.
開始直後,僕は何も考えていなかったので,とりあえず300の問題を開いた.半分の人々は700を開いたようだった.
ビールを飲みながら300の問題のコードをさくさくっと実装する. ビールもすぐに飲みきった. 300に提出をした. TLEだった.
なるほど.Rubyで投稿したのがダメだったのかもしれない. Rustで実装しよう. ビールをもう1本開ける必要があるので,すぐさま次のビールを手にとった. Rustでの実装もすぐに終わった. ビールはまだ残っている.
新しい問題を読む権利が存在することを思い出したので,500の問題を開いた. すでに酔いが回り始めていたので,ここで致命的な誤読を繰り返す.
ビールはのみおわったので,300のRust版を投稿する. TLE. なんで?????
わからんので,500の実装を始めた. ビールも頑張って空ける.焼き鳥もうまい. サンプルはあっている気がしたのでなんとなく提出した. WA.
誤読していた. 読み直すとめんどくさいだけで提出した実装を改変するだけでよかった. 4本目のビールを空けたと同時にAC.
すでにこの時点で僕はフラフラだった. 700を読んでいた人間は1人を除いて全員WAをはやしたらしい. 部屋には酒臭いにおいと焼き鳥の匂いが充満して居酒屋状態だった.
1問目のTLEの原因が全然わからないまま,終了時間が近づいていた. この時,僕は他の問題を読むためにビールを続けてさらに2本も開けていた. 終了時には,6本のビール缶が僕の周りに散らばっていた.
結果
順位表の一部.
500を通しただけで8人中3位になってしまった. 1位,2位はWAを出さずにしっかりコードを通していた. 飲酒プログラミングコンテストではWAを1回でも生やすと,デバッグが致命的に困難を極めることがわかった.
コンテスト終わってから,700に失敗した人々がデバッグしていたが,解決した人は居なかった.お酒怖い.
酒がいかに人体に影響を与えるのか,他者の様子を観察できて面白いイベントだった.