日本選手団 副団長 村井翔悟
日本代表選手 | |||
金メダル | 井上卓哉 | 開成高等学校2年 | |
金メダル | 髙谷悠太 | 開成高等学校1年 | 金メダル | 増田隆宏 | 筑波大学附属駒場高等学校2年 |
銅メダル | 松崎照央 | 明石工業高等専門学校3年 | |
日本選手団役員 | |||
団長※ | 保坂和宏 | 東京大学大学院修士課程1年(IOI 2008, IOI 2009 選手) | |
副団長 | 村井翔悟 | 東京大学理学部情報科学科3年(IOI 2010, IOI 2011, IOI 2012 選手) | |
随行員 | 二階堂建人 | 慶応義塾大学環境情報学部3年 | |
随行員 | 秀郁未 | 東京大学農学部獣医学過程獣医学専修3年(IOI 2012 選手) |
IOI は個人戦であり公式データとしての国別順位は存在しない.公表された成績に基づいて算出したところ,メダル獲得数による日本の国別順位は 5 位である.総得点による日本の国別順位も 5 位である.
競技 1 日目 | お土産の箱 (Boxes) |
秤 (Scales) | |
チーム (Teams) | |
競技 2 日目 | 馬 (Horses) |
ソート (Sorting) | |
町 (Towns) |
いずれも数理的思考力が問われる良問である.各課題はいくつかの小課題に分割されている.小課題の中には,単純な実装で得点が得られるものから,高度なアルゴリズムを実装しないと得点が得られないものまで含まれている.従って 1 つの課題を丸ごと落として 0 点になってしまう可能性は少ないが,満点を取るのは難しい.
IOI はプログラムの作成技術を競う大会ではない.技術力があるに越したことはないが,それよりも IOI で重視されるのは数理的な思考力・洞察力である.競技では課題の本質を見抜く力が問われ,(気づけばそこまで難しくはないものの) 一見して何をしたらいいか分かりづらいような問題も出題された.
(1) 競技規則の変更 :
IOI の競技規則は毎年少しずつ改訂されている.IOI 2015 における大きな変更点は以下のとおりである.
・今回の IOI から,選手が Java 言語で解答を提出することができるようになった.
・それに伴って (Java が実行時に複数スレッドを使う可能性があるので),プログラムが複数のスレッドを利用することが許されるようになった.(もっとも,すべてのスレッドの実行時間の合計が制限を超えてはならない,という制限があるので,あえて複数のスレッドを用いる意味はほとんどない.)
これらの変更は去年の規則に比べて選手に制約を課すようなものではなかったので,選手への影響はほとんど無かった.ちなみに,Java 言語が使えるようになったが,実際に Java 言語を使用した選手は全体でも数名だったようである.
選手は,昨年までと同様に,競技サーバより問題文の PDF ファイル(英語版と各国語版)をダウンロードして競技 PC 上で読むこともできる.
(2) 競技実施方式 :
去年に引き続き,IOI 2015 で出題された課題の形式は,与えられたデータを処理する関数(プロシージャ)を実装したソースファイルを提出する方式 (プロシージャ方式) である.出力ファイルのみを提出するような特殊な形式の問題は,今年は出題されなかった.
提出されたソースファイルは競技システム上ですぐにコンパイル・実行される.競技参加者にフィードバックが返され,自分の得点を知ることができる (現在の競技規則では,すべての提出に対して完全なフィードバックがあることが明記されている).満点でなかった場合は,どの小課題で失点したかを知ることができる.
競技の途中経過はスコアボードとしてリアルタイムに全世界に公開された.日本から観戦した人も多くいたようである.ただし,競技時間中はスコアボードは選手には公開されない.選手が競技時間中に知ることができるのは,自分の得点だけである.
IOI ではプロシージャ方式をとる関係で,問題文中に「実装の詳細」節があり,プログラム中で実装すべき関数の仕様などを明記していることが多い.しかし,今回の IOI においては,実装の詳細の説明は各選手に配布されるサンプルプログラムに委ね,問題文中には明記されなかった.IOI に参加する選手のレベルを考えると,問題文中にも実装の詳細を記述する必要は少ないと考えられるため,この措置は適切なものと言えるだろう (これにより,若干ながら翻訳の手間も減少した).ただし,選手に与えられる「採点用サンプルプログラムの例」が受理する入力の説明が大雑把すぎないか,という印象は受けた.
(3) 競技システム :
競技時間中,選手にはノート PC が 1 人 1 台与えられた.選手の PC には開発環境と,競技システムにアクセスするためのウェブブラウザがインストールされている.
競技システムとしては,最近の IOI と同様,CMS (Contest Management System) が用いられた.日本でも,最近では JOI 本選と春季トレーニング合宿で CMS を使用している.トレーニングにおいて IOI と同一の競技システムを使用することにより,選手は操作方法に戸惑うことなく課題に集中できるというメリットがある.
競技システムもよく準備されており,初日こそフィードバックが返ってくるまでに時間がかかることもあったが,2 日目にはすべての提出に対してフィードバックが 1 分以内に返ってきたようである.細かいハードウェア,ソフトウェア的な不具合は多少あったようだが,300 人以上が一斉に競技を行うことを考えると,そのような問題を完全になくすことは難しいのではないかと思われる.
(4) 翻訳 : 競技日の前日の夜には副団長・随行員により問題文の翻訳が行われた.今年の翻訳システムは Wiki 形式のもので,すべての編集がサーバー上に保存され,システム上から印刷を要求できるなど,使いやすいものであった.与えられた翻訳システムを用いると日本語フォントが不適切になるという問題は毎年のように起こっていたようであるが,今回は若干違和感はあるものの問題になるほどではなく,自前で PDF ファイルを作成する必要などもなかった.システムが使いやすかったこと,また問題文がさほど長くなかったこともあってか,翻訳は例年に比べるとかなり早く (遅くとも 2 時 10 分) に終了した.