世界各国でおよそ5万人の大学生が参加する、ICPC(International Collegiate Programming Contest=国際大学対抗プログラミングコンテスト)のアジア地区横浜大会が12月9日、横浜産貿ホールで開催された。海外からの8校9チームを加えた46校60チームがプログラミングの腕を競った。5時間にわたる熱戦の結果、1位は北京大学のチーム「Phewwww」、2位は東京大学のチーム「Gifted Infants」、3位は国立台湾大学のチーム「JAW」が獲得した。

優勝した北京大学のチーム「Phewwww」と大会役員(左から、慶応大学教授でICPC2018横浜大会実行委員会の高田眞吾 実行委員長、北京大学チーム「Phewwww」のChloe_fanさん、SkyDecさん、shanquan2さん、早稲田大学名誉教授で情報科学国際交流財団の筧捷彦 理事長)

 序盤戦ではACM上位常連校の上海交通大学がスタートダッシュを決めたものの、徐々に実力チームが順位を上げ、日・中・台各校での上位争いに突入。特に終盤戦で北京大と東大のが熾烈な首位争いを繰り広げた。問題はAからKまでの11問で、全問正解したのはこの2校だけ。北京大学が終始優位に戦いを進めたものの、一番の難問と思われた問Fを先に解いて全問正解したのは東大チーム。しかし、終了直前に北京大も滑り込みで問Fを正解した。両校は正解数で並んだものの、総回答時間の差で北京大学チームが勝利を収めた。国立台湾大学のチーム「JAW」は難問Fを終了3分前に解き、3位に滑り込んだ。
 
2位を獲得した東京大学チーム「Gifted Infants」(左からyosupoさん、maroonさん、sigma425さん)

 ICPCは3人1組で戦う団体戦。与えられるPCはチームにつき1台しかないため、コンピュータの操作ができない残りの2人がどう問題に取り組むかがカギ。アルゴリズムのセンスに加え、チームワークが勝敗を分ける大きな要素になる。国際大会であるため、問題文はもとより大会のアナウンスも含め全て英語で進行。辞書や参考書は持ち込めるが、スマートフォンなどの電子機器の持ち込みはできない。
 
終了3分前に難問Fを解き3位に滑り込んだ国立台湾大学のチーム「JAW」。3人のチームワークも重要な要素

 43回目を迎える次回のICPC最終決戦は、2019年4月4日にポルトガルのポルトで開催されるワールドファイナル。ここで全世界の各地区大会を勝ち抜いたおよそ140大学のチームがプログラミング世界一の座をかけて戦う。各地区大会の状況により最終的な出場校が決まるが、横浜大会での上位校にもワールドファイナルの出場権が与えられる。

 今年開催されたワールドファイナル北京大会では、ロシアのモスクワ大学チームが11問中9問正解で優勝、2位は同じくロシアのモスクワ物理工科大学(8問)、3位はホスト校の北京大学(8問)、東京大学も8問を正解して総合4位に輝いた。(BCN・道越一郎)
 
正解すると問題ごとに決められた色の風船が上がる。風船の多いチームが上位チームだ