今回、CODE FESTIVAL 2015に参加してきたので、このことについて書いておこうと思います。
去年のTHANKSと同じ調子でコードと参加記をまとめて書いていたら長くなったので解法編と参加記編で分割したいと思います。
こちらは参加した二日間の参加記を書いています。
去年は予選を突破できなかったのでCODE FESTIVALに行けず、代わりにCODE THANKS FESTIVALに行きました。THANKSはとても楽しかったので、来年はCODE FESTIVALに行きたいなと思っていました。
今年は予選Aで全完して127位で予選突破することができたので、CODE FESTIVALに参加することができました。
====== 0日目 =====
ツイッターのTLを見てたらコンテンツに短縮王というコードゴルフのコンテストがあり、その問題が公開されていることを知ったので、A,B,C問題あたりを書いて適当にコードを縮めていました。
他には特に何もせずにだらだらして1時半あたりに寝ました。
====== 1日目 =====
一日目は8時に起床しました。朝食はマックでソーセージマフィンを食べていました。
その後会場に向かい、10時くらいに会場に到着しました。本戦開始前にはTシャツやリストバンドなどがもらえました。また、この時におにぎりももらえたのでマックなうする必要がなかったことに気がつきました...。
本戦の説明では5完以上するとパーカーが貰えると聞いて、絶対に5完しようと思っていました。さらに、上位に入ると賞金が出たり沖縄行けたりすると聞いたのですが、さすがにつらいかなという気持ちでした。
ネットワークの調子が悪いというアクシデントはありましたが、12時から45分遅れで本戦が始まりました。
本戦ではA問題からE問題まで順番に解いていき、その後は順位表の状況を見て、F問題をすっ飛ばしてG問題を考えていました。G問題は解くことができず、そのままコンテストが終わりました。
結果は69位で、5完だったのでパーカーがもらえました。目標は達成できたので満足でした。
本選が終わった後は解説を聞きました。解いた問題でも、ああそんな方法で解けるんだーという解法もあって勉強になりました。
その後はトークライブを聞いたり、その合間に夕飯を食べたりしていました。夕飯美味しかったです(๑´ڡ`๑)
おすしー pic.twitter.com/9RoHvBUa6D
— やけぬる@009 (@jken_ull) 2015, 11月 14
肉巻きおにぎり、生春巻き、ジェラート食べる pic.twitter.com/vJ5doK72US
— やけぬる@009 (@jken_ull) 2015, 11月 14
トークライブでは面白い話や、ためになる話が聞けてよかったです。
エキシビションマッチは本戦上位入賞者のコーディングの様子が見れたのですが、やっぱり上位の人は強くてすごいなと感心しながら見ていました。コンテンツ力も高くて見ていて面白かったです
1日目が終わった後は自宅に帰りました。帰った後は短縮王のコードを書いていて、気がついたら1時くらいだったのでオフトゥンに入りました。
短縮王はPythonで書いていたのですが、ある程度以上削ることができず、知識がない状態で挑戦するのはつらいなと思いました。でもコードを削っていくのは楽しかったです。(楽しすぎて危うく寝る時間を溶かしすぎるところでした...)
====== 2日目 =====
2日目は7時前に起きることができました。疲れていたのに6時間睡眠だったので眠くて、この状態で参加するのはつらそうな気がしたのでレッドブルを決めました。
会場には8時過ぎに到着しました。
会場に着くと、朝食のサンドウィッチとオレンジジュース、あさプロに参加した全員がもらえるタオルがもらえました。
あさプロ〜 pic.twitter.com/QV1wVWtEL7
— やけぬる@009 (@jken_ull) 2015, 11月 14
2日目最初に行われたあさプロは9時から一時間半で4問、本選の自分の順位に合わせたレベル(1~30はHard, 31~100はMiddle,Hard, 101~はEasy,Middle,Hard)の中から選んで解いていくコンテストでした。
私は本戦では69位だったのでMiddleとHardから選ぶことができました。そこで私はMiddleを解いていくことにしました。
このコンテストでは、眠さなどもあってgdgdでしたが、A,B,C問題を解くことができました。D問題は難しく、方針を考えてみるも間違った方針にたどり着いてしまい全くだめでした。
結果としては3完で20位になりました。この結果Middleで入賞できたのでスタンプをもらうことができましたヽ(´ー`)ノ
この後はトークライブを聞きました。
トークライブの1つでshinhさんのコードゴルフの話を聞いていました。このトークの中でC言語にはいろいろ短くする方法があることを知りました。
cのmain関数、偶然eaxレジスタに0が入っていればreturn 0不要というの、なるほどなって感じ #code_festival
— やけぬる@009 (@jken_ull) 2015, 11月 15
話の中で一番感心したのがこれで、言われてみれば方法としてありだけどやり方としてはヤバイなと思いました。
この話を聞いて、コードゴルフについて勉強してみたくなりました。
最後のコンテンツはチーム対抗早解きリレーで、私のチーム番号は12になりました。チームに知っている人が何名かいたので、すごい偶然だなと思いました。
リレーでは、A問題~J問題までの10問あり、1人1問ずつを担当することになりました。チームの方針として、本戦の順位の高い人から順に後ろの問題を担当することになりました。私はG問題を担当することになりました。
問題文を読んでナップサックだなと思い、少し考えたら解法が分かったのでさっさと実装したのですが、見事にバグらせてsampleケース以外全てWAという結果が返ってきたのでつらくなりました。その後いろいろ修正するも直らず、チームの人に指摘されて初めて根本的なミスに気づき、そこを修正することで通すことができました。チームメンバに感謝です。
結局、最後のACとなりチームの足を引っ張ってしまう結果になったので申し訳なかったです。チームは9位になりました。
リレーで一度に一人しかコーディングできなかったのでいつも以上に焦ってコーディングしてしまい、バグらせてしまった気がします。もうちょっと冷静になってコーディングすればよかったです。
あと、リレーの会場にはレッドブルが置いてあり、まさかここでこの日二本目のレッドブルを飲むことになるとは思っていませんでしたw
この後はハッピーアワーがあり、その中で表彰式が行われました。各コンテンツの入賞者が表彰されていました。
今回はコンテストやトークライブをメインに楽しんでいて、スタンプラリーはスタンプ10個がたまったのでステッカーとバッジをもらうことができました。15個でもらえるタンブラーは厳しかったので諦めました。
CODE FESTIVALのコンテンツは面白いコンテンツばかりで、二日間とても楽しい時間が過ごせました。来年もあれば行きたいなと思っています。
CODE FESTIVAL 2015お疲れ様でした!