飲酒プロコン参加記
これは、2019年12月22日に行われた飲酒プロコン(忘年会0次会)の参加記です。
開催されるまで
11月終盤ごろに、amylaseさんが「今年中に飲酒プロコンをやりたい」と言っていたので、「やってください!」とお願いしておきます。12月の初めに「今年中はさすがに無理では」とamylaseさんがぼやいていましたが、なぜかkenkooooさんが主催してくれました。
準備
僕はお酒を飲みすぎると吐いてしまうタイプなので、いつ吐いてもいいようにエチケット袋を準備しておきます。ヨドバシの通販で600円でした。
飲酒プロコン用に買った pic.twitter.com/vFCZHjMajJ
— アルゴリズムを背負う男 (@blue_jam) December 18, 2019
集合
集合時間は11時で、仕事のスタンドアップよりも遅いので、当然、集合時間に間に合うように起きることができます。財布の中に1000円札が存在しないことに気が付いたので、少し余裕をもって出発し、目的地の近くでお金をおろすことを目標にします。
電車に乗っている間、大手町駅のすぐ近くに、自分が使っている銀行があることを知ります。電車を降りてから銀行まで行ってATMを探していましたが、閉鎖されていたためあきらめてレストランに向かいます。
レストランの前にbeet君がいたので、軽く挨拶します。そのあとでコンビニに行ってポケットティッシュと胃薬を買います。胃薬を買う理由は、以前「酒を飲みすぎたら吐いた」という話をしたら、「胃薬と大量の水を飲むと翌日が楽になる」という話を聞いたからです。医学的な根拠は知りませんが、プラシーボ効果を狙っていきます。
飲酒プロコンのグループチャットを見てみると、SRMに参加していた人たちが寝坊報告をしているのが見えました。まさかの起床フェーズ。
11時ごろになると、amylaseさんが到着します。まだkenkooooさんが来ていなかったですが、時間になったので店に入ることにします。ところで、17人で予約していたのですが、11時に入店したのは5人でした。
注文
とりあえず、酒と食べるものを注文します。飲み物にボトルのワインばかり書いてあってビビりますが、地ビールを見つけることができました。後で説明しますが、ワインは1杯で1問開く+1提出ですが、ビールは0.5杯で同じ権利が得られるためお得です。
若者がピザを食べたそうにしていたので、ピザを4種類注文します。生きているうちに、一回やってみたかったので、ピザのメニューを指さしながら「ここにあるものを全部一つずつお願いします(ピザのメニューは4種類あった)」と言ってみましたが、店員さんはきょとんとしていました。また、僕が食べたかった&手が汚れるものを頼んで人を妨害したかったという理由で、手羽先のから揚げを注文します。
コンテスト
コンテスト開始直前にこのようなメッセージが届きました。
さすがはkenkooooさんです。
そうこうしているうちに、コンテスト開始時間になりました。ところでルールはこんな感じでした。
- コンテスト開始時に問題を1問を開ける権利が与えられる。
- アルコール10ml(目安はビール0.5杯、またはワイン1杯)を摂取するごとに、問題を1問開ける権利と1回コードを提出する権利が与えられる。
1問目は完全に素面で問題の考察ができるため、どの問題を選ぶかがとても重要です。自分の実力を考慮し、とりあえずC問題を開きます。問題を読むと尺取りをやってくださいと書いてあります。僕は尺取りを書くのが苦手なので、1問目に尺取りを引くことができたので運がよかったです。ところで、コンテスト開始前にビールが届いていて、僕はそれをすでに3分の1ぐらい消費していたので、1問目を読み始めたときにはそれなりに酔っていました。ビールは千葉の地ビール(IPA)でした。
若干、回りが悪い頭でコードを書き始めます。とりあえずかけた状態でサンプルを通すと答えが合いません。なぜでしょうか?出力するものが違いました。早速訂正してサンプルを走らせてみます。合いませんでした。
自棄になって手羽先のから揚げを食べます。私は、名古屋紹介マンガの八十亀ちゃん観察日記を読み、手羽先の効率的な食べ方を学習していたので、効率的に手羽先を食べることができました。
手羽先を食べている間に直すべき場所に気が付いたので、提出します。AC。
そこそこ厄介な問題を倒したので、次は簡単なものを解くことにします。A問題を読むと、長さkの部分文字列をsetに突っ込んで、要素数を出力してくださいと書いてあります。実装して提出します。AC。
このころには2杯目のビール(地ビールのスタウト)とグレープフルーツジュースが届いていました。酒を飲んでいる途中にソフトドリンクで休憩を入れるのは酒飲みの常識です。
ビールを飲みつつ、B問題を開きます。人口の和を計算していじいじすると解けると書いてあります。Kotlinでちょっとカッコよく解いてやろうと色気を出して若干時間がかかります。AC。
D問題を開きます。+で文字列を分割して、0を含まない文字列の個数を数えてくださいと書いてあります。実装して提出するとACします。
この時点で3位でした。
E問題を開きます・・・えぇ・・・めんど・・・ 酔った状態でナップサックの3種類の実装をするのはつらすぎます。ちまちまコードを書いていましたが、全然終わる気がしません。また、自分の飲酒量の限界を感じていたので、かけたとしても提出するのは絶望的だなと思いました。
残り15分ぐらいで順位表を見ると、hogloid君、amylaseさん、sigma425君が全員自分より下の順位にいます。皆さんがご存じの通り、彼らはとても強いので、彼らのうちだれか一人よりも上の順位を取ると僕の中では大金星です。そのあとhogloid君は1問解いて僕より上の順位を取りました。さすがです。
最終順位は6位でした。
amylaseさんとsigma425君にプログラミングコンテストで勝てたことを一生自慢していこうと思います。
その他
レストランから出たらとりあえず水を買いに行きました。忘年会1次会で飲み物が提供されるものだと思っていましたが、すぐには提供されないようだったので、kenkooooさんと外のコンビニで10本ぐらい買ってきました。
自宅に帰るまでエチケット袋を使う機会が訪れなかったので良かったです。