パソコン甲子園本選参加レポート

ふぃらっはです。

11/2(木)から11/5(日)にかけて,福島県の会津大学で行われるパソコン甲子園プログラミング部門本選に私と投資家おじさんのチームで参加してきたので,そのレポートを書こうと思います。

もくじ:
1. 移動,大会前夜
2. 競技
3. 交流会
4. モバイル部門の観覧
5. 表彰式
6. 帰路

1. 移動,大会前夜

津山駅を10時に出発しました。8時間に及ぶ会津若松ゆきの旅のスタートです。

行きの新幹線の中では,参考書を読んだり過去問を解いたりしていました。

ホテルは会津若松ワシントンホテルというよさげなホテルでした。会津大学と協賛企業に感謝です。
移動で疲れているはずなのに全く眠れなかったので,コーヒーをベッド代わりに過去問を解いたり過去問を解いたりしていました。そのせいで翌日眠すぎて困りましたが……。

 

2.競技

2日目の昼からいよいよ大会の始まりです。バスに乗って会津大学まで行きました。

会津大学構内のみならず,街中の色んなところにパソコン甲子園の看板が立っていて,結構大きいイベントなんだなあという感慨を抱きました。

一問解けるごとにテーブルに風船が取り付けられるようです。成績が明示されるのはいいですね。

 

午後13時45分,いよいよ大会のスタートです!

シンと張り詰めた空気の中,全国から集まった高校生・高専生たちが黙々と問題に取り組みます。
競技時間4時間の間集中力を保ちつづけるのは結構難事でした。

問題は全部で12問あり,おおむね番号の大きい方が難しい問題となっています(問題はパソコン甲子園公式サイトに掲載されているので,ぜひご覧ください)。私たちのチームは12問中4問を正解しました。
問題の解説がまだ公開されていないので大まかな解法を以下に示しておきます。

1問目:for文と条件分けを適切に行うと簡単に解けます。
2問目:もっともy/x (傾き) が大きい建物の傾きに応じてビルの高さを決めます。
3問目:うるう年は罠です。誕生日の差を考慮して年齢差を求めます。
4問目:もっとも間隔の長いメトロノームの約数に他のメトロノームを合わせます。
5問目:各時間帯の端点以外は必要でないことを考慮して座圧をやります。
6問目と7問目:アドホックなアルゴリズムを必要とする問題です。法則を見つけだすと解けるそうです。

「競技プログラミングは地頭が物を言う世界」という文言をどこかで見たことがありますが,パソコン甲子園でも案の定進学校が強かったです。

私たちのチームは6位にまで登りつめましたが,5問目以降で詰まってしまったので,結局最終的な順位は29チーム中24位でした。かなり悔しかったですが,幸い来年も出場することができるので,次大会こそは良い成績を残したいと思います。

3.交流会

競技終了後,ホテルにて選手等交流会がありました。

ごはんが豪華でした。

他高専の選手たちと問題の解法について話し合ったりしました。

自分より実力が上の人と直に話せる機会は結構貴重だと思います。競技プログラミングに関するいろんな知見が得られた大変有意義な交流会でした。

 

4.モバイル部門の観覧

3日目はモバイル部門がメインです。各チームが制作したスマホアプリの完成度を競います。ちなみに予選通過したチームのほとんどが高専で,高校生のチームは2チームしかありませんでした。

プログラミング部門の選手は特にイベントもないので,のんびりと各チームの展示を観覧することになります。

今年のテーマは「友と学ぶ」でした。やはりというか,勉強を主眼に据えたアプリが非常に多かったです。

個人的には,友人とサポートしあいながら勉強するタイプのアプリが多いなか,「ムダにつながらない」をテーマにした大阪府立淀川工科高校の「Studyバトル」が印象的でした。

どのチームも完成度の高い作品とプレゼンを用意していてすごいなあと思いました。わがシス研でもエントリーを検討してみたらいいんじゃないかな~と思います。

昼には前日のプログラミング部門の問題解説もありました。後ろの方の問題の解説はちんぷんかんぷんでしたが,5問目~7問目あたりの解説はすごくタメになりました。

 

5.表彰式

3日目の午後は表彰式です。各部門ごとに成績が発表され,優秀者に米俵が渡されるなどします。
プログラミング部門のグランプリは開成高校のチームでした。後で調べてみると国際情報オリンピックのアジア大会で優勝しているようなガチプロの方みたいでした。ちなみに1位チームには奨学金30万円が授与されます。
モバイル部門のグランプリは,友人とノートを見せあいながら勉強するアプリを制作した鈴鹿高専のチームでした。ハード面の工夫がすごかったです。

 

6.帰路

せっかくなので,帰りは東京に寄って色んなところを観光しました。

秋葉原の電気街に寄ったり……

(なぜか)皇居東御苑を歩いたりもしました。

おわりに

実はチームの二人とも競技プログラミングの経験がありませんでした。そんな中,本選出場を通じて,競技プログラミングの奥深い世界の一端を垣間見ることができたのは非常に有意義だったと思います。
整った環境の中で日本中の強い人たちと競えたのは非常にいい経験になりました。

来年も本選に出て,グランプリ(と30万円)目指して頑張りたいと思います。


コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください