notepad

いろいろ書くメモ帳

ICPCに参加した話

これは Muroran Institute of Technology Advent Calendar 23日目の記事です.

はじめに

私は過去2回,室工大のチームとしてICPCに参加しました.その時の感想とかを書こうと思います.

ICPCとは

ICPCACMが主催する国際大学対抗プログラミングコンテストです. 一般に言う競技プログラミングの大会で,よくあるアプリ開発コンテストと違って純粋なアルゴリズム力やコーディング力を競う大会です. 3人1組のチームで,大学の名前を背負って戦います.

2016年

この年にICPCという大会を見つけて参加することにしました. 意外なことに,過去に室工大から出場した人がいなかっため,この年に室工大が初参加となりました. この年は室工大から4チーム出場,私はチーム「DarkHorse」として出場しました.

コンテスト開始後は3人で分担して問題を解いていきました. PCが1チーム1台しか使えないので,残った2人はアルゴリズムを考えながら紙にまとめる事になります. 最終的には紙にプログラムを書いて机上デバッグをするという愉快なことをしていました. ただ,この作業をやっていたおかげでコーディングが速くなったので,わりと侮れません.というかやるべき.

私はB問題を担当したのですが,問題文を読み違えて無駄に時間を食ってしまいました. 読解力はとても大事だと思い知らされました.

最終的には3人でA,B,C問題を解いて3問完答.順位は121位でした. D問題も少し考えたのですが,全く歯が立ちませんでした.

2017年

この年も室工大から4チーム出場,私はチーム「Hatamotic Nao」として出場しました.

この年から使用可能言語にPython追加されました.もちろんPythonを使いました.

私はC問題を担当しました.本当に総当りで解ける問題なのかと疑心暗鬼になりながらも総当りで解きました. このときに,ICPCはC問題までなら総当りで解けるようになっているのだと確信しました.

3人で1問づつ解き終えた時点で残り1時間くらいだったので,3人でD問題を考えることにしました. きっと動的計画法とか使うんだろうなぁとか思いながら解法が全く浮かばないままタイムアップを迎えました.

最終的には前年と同じく3問完答.順位は115位でした. 前年より順位は上がりましたが,予選突破とはなりませんでした.

おわりに

ICPC,楽しいです.

結局予選を突破することができませんでしたが,チームメンバーとあーだこーだ言いながら問題を解くのは楽しいですし,貴重な体験だったと思います. なので,興味があれば是非ICPCに参加してみてください.