EPOCH@まつやまの紹介 for Competitive Programming Advent Calendar

先日, 愛媛大学にて『EPOCH@まつやま』というプログラミングコンテストが開かれました.
ぼくの友人のチーム『卒論からの逃避』がめでたくオンサイト出場を決めたので, ぼくもそれに便乗し逃避しに愛媛へ行ってきました.
ということで, 今回は観戦者サイドで『EPOCH@まつやま』のコンテストについてご紹介したいと思います.

EPOCH@まつやまとは


EPOCH@まつやまは, 大学生以下の学生を対象として開かれるプログラミングコンテストです.
「このコンテストは, プログラミング人口のすそ野を広げることを主たる目的としているため, 他のプログラミング大会などで入賞した経験のある方はご遠慮ください」という注意書きが公式ページにあります.
そのため, パソコン甲子園情報オリンピックACM/ICPCなどで本戦に出場できなかった人たちや, 競技プログラミングを経験したことない人などが, 多く参加する大会となっています.
ちなみに, 僕は今年のICPCでアジア地区へ進出できたので, EPOCHへの参加は自粛しました.


チーム制となっており, 1チームは, 大学生以下の学生2人で構成されなければなりません.
そして, 魅力的なのが, 「異なる学校でチーム構成も可能」という点です.
そのため, ネットで知り合った人や, 遠く離れた友人と本戦で会うために, チームを組んで出場する人もいたりします.


EPOCHは, Webで行われる予選と, 愛媛大学オンサイトで行われる本戦とで構成されています.

予選

予選は, 約4カ月間開催され, 簡単な問題を3問解く形式となっています.
提出の早さは関係ないので, プログラミングに自信のない人でも, じっくり解法を考えて問題を解けます.
そのため, バリバリのプログラミング経験者から, プログラミングを経験したことがない人まで, 幅広い層に本戦進出へのチャンスがあります.


この記事を見てくれている学生のあなたにも, チャンスがあるかもしれません!

いざ本戦へ!

<出場チーム>

予選を見事勝ち抜いた22チームは, 愛媛大学での本戦に出場することができます.
チーム名がわけわからんのが多いので, 司会者の人がチームを呼ぶとき, いちいち困ってましたw

↑今年の出場チーム
出場チームは, 昨年に比べ高校生の数が多くなったようで, 出場者の最年少は15歳らしいです.
そして, 女子の数がゼロだったようです!!orz

補助金

本戦は, 愛媛大学で行われるので, 交通費や宿泊費が心配な人もいるかもしれませんが, 補助金がもらえるので, 心配する必要はありません.

もちろん, 観戦者は自費ですよw

<フェリー>

僕が同行したチームは, フェリーで愛媛まで行きました.
フェリーは, 大阪から愛媛までの距離で一晩かかりますが, 非常に安上がりで, 非常にラクです.
フェリーの中には大浴場があってお風呂に入れるし, 寝るときは十分足を伸ばして寝られます.
フェリーはおすすめですね.
↓フェリーの中でやよいちゃんとパシャリ

<EPOCH-Tシャツ>

本戦へ参加した人全員に, EPOCH@まつやまのオレンジ色のTシャツが配られます.
コンテスト限定のTシャツがもらえるのも, オンサイト参加の魅力ですよね.

僕も舞い上がって, ICPC-Tシャツを着てしまいました!

<チーム旗>

本戦へ参加した人全員に, チーム名の書かれた旗が配られます.
「こんなの研究室に飾ってたら, いかんな↓」

観光〜松山城

1日目愛媛に到着後, コンテストまでに時間があったので, 松山城へ観光しに行ってきました.

松山城は, 愛媛大学のすぐ近くにあります.
しかし, 実際に松山城に入るまでが非常に大変で, プチ登山しなければなりません.
コンテスト前に, とっても疲れてしまいました.
あとから後悔した... コンテスト前に行くべきではなかったと...

こんな感じで, がんばって上りましたよ.


お城の中には, なんと侍の鎧を着る体験ができるスペースがありました!
おや, チーム『卒論からの逃避』の1人が, 何かを思いついたようだ.
鎧を着け始めたではないか.

そして, おもむろに鞄から取り出したのは・・・!

これが, 本当の "Samurai Coding" である.
そんな感じで, プチ登山は疲れましたが, コンテスト前に非常に楽しむことができました.
来年, EPOCHに参加する人は, 是非Samurai Codingの二代目となってください.

本選第1ステージ〜ビンゴゲーム

第1ステージルール

簡単な問題が25問あります. 問題を読み, それを解くプログラムを作ります. 但し, 5×5マスのビンゴゲームで競います. チームごとに問題番号をビンゴ枠に配置します. 問題を解くと対応する問題番号のビンゴ枠を取得できます. 縦横斜めの列がたくさんできたチームが優位になります. 22チームで競います. 上位4チームが次の最終ステージに出場できます. (公式ページより引用)

EPOCH@まつやまは, ただ解くだけでなく, このようにビンゴ形式で解くようになっています.
そのため, 競技者は単純に1から解いていくのではなく, ビンゴをなるべく多く揃えるように考えて問題を解いていかなければなりません.
昨年は, 問題が簡単すぎたため, 全ての問題を解かなければ本戦へ進出できないという状況でしたが, 今年は問題の難易度が上がり, 解く順番の戦略が大事になったようです.
観戦していると, 問題をたくさん解けても, ビンゴがそろわなかったために本戦に進出できなかったというチームが多くて残念でしたね.

<観戦者は何をしていたか>

僕らは, 競技者とは違う部屋で観戦していました.
競技者の様子は, 部屋の前方のスクリーンで見れるようになっています(って言っても, ICPCUstream映像みたいに, 2チームだけがずっと映ってるつまらないヤツ)

司会者と解説者がいて, それぞれのチームが今どういう状況であるかや, 各チームのプロフィールなどをずっと話してくれてました.
どのチームがどの大学のチームかという情報など, 重要な情報も聞けたので, 実況のおかげで退屈せずに済みました.

コンテストの途中で, 選手が解いている問題が4問ぐらい配られて, その問題を考えたりもしてました.
もっとたくさんの問題を公開してくれると暇つぶしになってよかったと思います.

懇親会〜チーム紹介が見もの!

1日目のコンテストが終わった後には, 懇親会が行われます.
ここでは, 簡単なミニゲームをしたり, 立食しながら他チームと交流ができたりします.

Twitterをやってる人にとっては, オフ会みたいな感じになってて, ネットでしか知らない人と実際に出会えて, みんなとてもうれしそうでした.


そして, 懇親会で魅力的なのが, チーム紹介です!
チーム紹介は, 自分のチームメンバや大学や地元のことについての紹介など, どのチームも個性的で面白い紹介が行われました.
チームによっては, スライドでの紹介ではなく, 動画を作ってきて紹介してるチームもいてとってもすごかったです.(わんどさんといちょうさんのチーム)





ちなみに, 僕は参加することを事前告知せずに観戦しに行ったのですが, 運営の方に「懇親会にも是非参加していってください」とやさしく声をかけていただけました.
「観戦者は懇親会には参加しづらいかなぁ」と思ってたのですが, 競技者以上に楽しんじゃいましたw

交流〜道後温泉

懇親会が終了した後には, 参加者で集まって道後温泉へ行きました.
僕とチーム『卒論からの逃避』のメンバは, 午前中の松山城のプチ登山でとっても疲れていて, ホテルへ戻って爆睡したので, 残念ながら参加できませんでした.
温泉組に参加してた人たちは, より交流が深まったようです.
来年本戦に参加する人は, 僕たちみたいなあやまちを繰り返さないように気をつけてください.


ちなみに, 次の日に道後温泉へ行ったときに撮った写真です.

いやあ〜, とっても気持ちよくて疲れがとれました!
温泉いいですねぇ.

本選第2ステージ〜アタック25

第1ステージの上位4チームは, 最終ステージに出場することができます.
第2ステージルール

簡単な問題が25問あります. 問題を読み, それを解くプログラムを作ります. 但し, 5×5マスの4色オセロで競います. 全てのチームで共有のオセロ板に問題番号が適当にふられています. 問題を解くと対応する問題番号の枠をチームカラーで塗ることができます. 他のチームに正解されてしまうとその問題を後から解いても自陣にできないルールとします. 但し, オセロのようにはさみこむ形で前後の枠を取れば自陣とすることができます. 最後に最も陣地の広いチームが優位になります. 4チームで競います. (公式ページより引用)

つまりは, アタック25ですね.


第1ステージは, 自分たちのことだけ考えて問題を解く順を考えればよかったですが, 第2ステージでは, 相手の解く様子もうかがいつつ, 戦略を考えなければなりません.
今年は, 超熱戦が繰り広げられ, 競技者も観戦者も手に汗握る展開だったと思います.


ちなみに, 観戦者は第1ステージと同じような感じで待機していました.
ただ, 第1ステージのときと違うのが, 観戦者用のチャットが用意されていて, 観戦者同士で会話することができるようになっています.
チャット内では, 問題の解き方について話し合ったり, 競技者が問題を解くごとに盛り上がったりしました.
このチャットも, EPOCH@まつやまの魅力だと思います.



これが最終結果なのですが, 緑があと7を解けば大逆転だったんです!ほんとに接戦でした↑
(1,6,7,12,24はまだ解かれてないマス)


ということで, 今年も東大(赤)が優勝しました!
東大ぱないですね.
来年は, 東大を倒すチームが現れてくれるのを, 期待してますw

表彰式〜優勝だけじゃない!


第2ステージが終わった後は, 表彰式が行われました.
びっくりしたのは, 賞の数がとても多いことでした.

  • 優勝
  • 息の合ったチームに贈られる賞
  • 良質なコードを書いたチームに贈られる賞
  • スポンサーから贈られる賞

などさまざまあり, 強いチームだけではなく多くのチームに表彰のチャンスがあります.

写真:これ, 全部表彰されたチームです!

感想

今回, 観戦者としてEPOCH@まつやまに参加して思ったのは, 非常に観戦者に優しい大会だったということです.
例えば, ICPCであれば一般人が観戦しに行っても, 選手がパソコンの前に向かっているのを見てるだけで, 何も面白くないと思います.
しかし, EPOCHでは, 司会やビンゴ・アタック25など, 選手が何をしているかを耳で聞いて, 目で見てわかるようにしてくれているのが, すごくよかったです.
この記事で紹介したように, EPOCH@まつやまには, 魅力がたくさんあります.


この記事で興味を持った人は, 是非EPOCHの観戦をしに行ってみてはいかがでしょうか.
まだ学生の人は, 選手として参加してみてはいかがでしょうか!
きっと, 楽しめることは間違いないと思います!


これにて, 僕の記事は終了です〜.
初めて, こんな長い記事を書いたので疲れました.
明日からのAdvent Calendarの担当にあたってる人も, がんばってください.
ではでは, ありがとうございました.