第12回日本情報オリンピック本選概要

2012年12月21日
情報オリンピック日本委員会

更新履歴

目次

昨年からの変更点

昨年の本選実施方法からの大きな変更点は次の通りです.

ソースを複数回提出した場合の採点方法
昨年までは本選競技でソースを複数回提出した場合は最後に提出したソースのみを採点の対象としていました. JOI2012-2013 では,競技中にソースを複数回提出した場合は, 提出された全てのソースが採点され,提出されたソースの得点の最大値がその問題の得点となります.
本選競技の暫定得点の配布
本選競技終了後に暫定得点の配布を行います.自分の提出したソースの暫定得点を,その日のうちに確認することができます.なお,正式な競技結果は,後日通知されます.
オンラインでのオープンコンテストの実施・本選問題解説の公開
本選競技実施と同じ時間帯に,同じ問題を使ったオープンコンテストをオンラインで行う予定です.オープンコンテストにはどなたでも参加できます. また,本選参加者以外にも本選問題解説を何らかの形で(オンラインまたはオンサイトで)公開することを検討中です.詳細は決まり次第,この Web ページでお知らせします.
オープンコンテスト・本選問題解説の公開について を掲載しました(2013年2月7日追記).

日時

2013年2月9日(土) 15:00 ~ 2月10日(日) 17:00

会場

国立オリンピック記念青少年総合センター

住所 〒151-0052 東京都渋谷区代々木神園町3番1号
電話番号 03-3469-2525
URL http://nyc.niye.go.jp/

スケジュール

2月9日 (土)
受付開始   15:00 (競技用PCには15:30まで触れません)
プラクティス(実機練習) 15:30~17:30
チェックイン 17:30~18:30 (宿泊室整理)
講演 18:30~19:15 (予定)
懇親会(夕食会) 19:30~20:30
宿泊
2月10日 (日)
開場 9:00
着席 9:30
本選競技 10:00~14:00
昼食 14:30~15:30
暫定得点配布・問題解説 15:30~17:00
アンケート後,自由解散

オープンコンテスト・本選問題解説の公開について

オープンコンテストについて
本選競技と同じ時間帯に,同じ問題を使ったオープンコンテストをオンラインで行います.オープンコンテストにはどなたでも参加できます.
参加希望者は,オープンコンテストのページからアカウント登録を行なって参加してください.
オープンコンテストに関する情報は,オープンコンテストのページに随時掲載予定です.なお,オープンコンテストに用いる競技システムの仕様は,本選競技で用いる競技システムと同一ではありませんので,ご了承ください.
本選問題解説の公開について
本選問題解説で使用した解説スライドを,本選終了後に公開する予定です.
本選参加者以外の方も,会場で行われる本選問題解説に参加することができます.
参加希望者は,氏名・所属(学生の場合は学年)・連絡先メールアドレスを明記の上,件名を「本選問題解説参加希望」として,情報オリンピック日本委員会 (info@ioi-jp.org) までメールでお問い合わせください.

付き添い教員研修会

2月10日11:00~13:00に,本選競技と併行して,付き添いで来場された学校の先生方との教員研修会を開催予定です.

本人確認

本選では本人確認を実施します.
本選当日は,氏名,生年月日,学校名が確認できるもの(写真付)を持参してください(生徒証など).

参加申込書・保護者承諾書

参加申込書・保護者承諾書を 「参加申込書・保護者承諾書 書式」 よりダウンロードし,必要事項を記入の上, 保護者の方に参加承諾の署名・捺印をしていただき, 1月15日(火) 必着で下記宛に郵送してください.
交通費の補助額を計算するために必要ですので, 自宅の最寄駅を必ず記入してください (飛行機を利用する場合は,乗降する空港も必ず記入してください).
また,2月9日(土)にオリンピックセンターに宿泊を希望するか否かも忘れずに選択してください.

〒160-0022 
東京都新宿区新宿7-26-37 グランドメゾン戸山2D
((財)数学オリンピック財団内)
情報オリンピック日本委員会

交通費の補助について

本選参加のための往復交通費は,情報オリンピック日本委員会が経路等を調査して額を決定し,補助します. 切符は各自で購入してください.購入される切符の経路等によっては,補助額が購入額に満たない場合もありえます. ご了承ください.

本選当日受付で交通費補助金をお渡しします.受取りに印鑑が必要ですので忘れずに持ってきてください.

片道 100 ㎞を越し,特急等を利用した場合は,それを証明する,領収書もしくは切符等のコピーを提出してください.またこの場合は,領収書を預かり確認後の支払いになるので後日送金となる場合もあります.

「北海道・沖縄」及び片道 700 ㎞を越し飛行機を利用される場合には,領収書と往復の搭乗半券を提出していただきます. 領収書と往路の搭乗半券は受付時に提出していただきます.復路の搭乗半券は後から情報オリンピック日本委員会に送っていただきます. 復路の搭乗半券到着後に交通費補助金を送金致します.

バスを利用する場合には,バス会社の運賃表を提出してください.

会場へのアクセス

国立オリンピック記念青少年総合センターまでのアクセスについては, 国立オリンピック記念青少年総合センターの Web ページ http://nyc.niye.go.jp/facilities/d7.html を参考にして下さい .
■東京駅から ■小田急参宮橋駅から ■羽田空港から ■地下鉄千代田線代々木公園駅から ■成田空港から の経路,●周辺地図 ●参宮橋駅からの道順 それぞれの案内が掲載されています.

本選当日の情報オリンピック日本委員会への連絡

本選当日,情報オリンピック日本委員会に連絡したい場合は, 本委員会事務局
  03-5272-9794
にお電話をください.

本選競技内容

本選競技では,アルゴリズムを設計し,そのアルゴリズムを C, C++ のいずれかのプログラミング言語で実装する問題が出題されます.

どの問題にも実行時の実行時間と使用メモリに制限があります.問題によってはアルゴリズムの効率が重要となります.採点用入力データは,効率が異なる解法を識別できるよう調整されています.どの問題にも,ある程度の効率であって,正当な解を出力する解法であれば,その問題の制限の中で正解を出力できるような採点用入力データがいくつか用意されています.ですから,競技参加者が全ての採点用入力データに対して制限内で正解を出力する解法を得られなかった場合でも,問題に取り組む意味はあります.

第6回~第11回の日本情報オリンピック本選の問題・解説を参照されることをお勧めします.
 http://www.ioi-jp.org/joi/problem_archive-light.html

第12回日本情報オリンピック 本選競技実施方法概要

競技時間 4時間
課題数 5題
配 点 配点は各課題 100 点で,満点は 500 点となる.
各課題の採点用入力データセット数,および,課題内の配点は,本選競技時に配布する Overview Sheet に記載する.
使用できるプログラミング言語 C, C++
使用できる用品 鉛筆,シャープペン,ボールペン,消しゴムなどの筆記用具を使用できる.筆記用具は本委員会では準備しないので持参すること.計算用紙は本委員会が用意したものを使用すること.
競技参加者は,競技中に小さなマスコットを机の上に置くことができる.
使用できる機器・ソフトウェア 本委員会が用意した機器のみ使用できる. また,本委員会が事前に準備し使用を許可したソフトウェアのみ使用できる.
本選で使用する予定の機器・環境は以下の通りである.(変更される場合がある)

ハードウェア
ノート型パーソナルコンピュータ HP ProBook 4530s/CT Notebook PC
  • CPU: Core i5-2430M (2.4 GHz)
  • メモリ: 8GB
  • ハードディスク: 320GB
  • ディスプレイ: 15.6インチ TFTカラー液晶 (1366×768)
  • マウス: 光学式スクロールマウス

ソフトウェア
  • Ubuntu 12.04 Desktop 日本語 Remix
    http://www.ubuntulinux.jp/products/JA-Localized
    Windows 7 Professional (64 bit) 上で動作する VMware Player の仮想マシンで競技を行います.後日,練習用仮想マシンをダウンロードできるようにします.ダウンロード用 URL は,後日,本選参加者にメールで通知します.
    (VMware Player: http://www.vmware.com/jp/products/player/)
  • gcc/g++
  • gdb
  • C++ STL Document (英語)
  • Gnu Emacs
  • Vim
  • gedit
  • Ubuntu ディストリビューションに含まれる,その他のエディタ
解答方法および解答提出方法 課題の趣旨に合致するプログラムを作成し,解答提出用 Web インタフェースからソースを提出すること.解答プログラムは,入力を標準入力から読み込み,出力を標準出力に出力し,正常終了すること(0 を返すこと).
提出した解答には,フィードバック(「完全」「部分」「例のみ」のいずれか)が与えられる.
フィードバック 競技中に提出されたソースは Overview Sheet に記載されているコンパイルオプションを用いてコンパイルされ,いくつかの入力データに対して実行される.その結果がフィードバックとして競技参加者に通知される.競技参加者は,フィードバックを利用することで,自分の提出したソースが問題文の仕様をみたしているかどうかを確認することができる.

フィードバックに用いられる入力データの種類は,「完全」「部分」「例のみ」のいずれかである.
  • 「完全」の場合,問題文中の例と,全ての採点用入力データに対してフィードバックが与えられる.この問題については,競技参加者は自分の得点を競技中に知ることができる.
  • 「部分」の場合,問題文中の例と,いくつかの採点用入力データに対してフィードバックが与えられる.
  • 「例のみ」の場合,問題文中の例のみに対してフィードバックが与えられる.
「部分」「例のみ」の場合,採点用入力データには,フィードバックで用いられる入力データよりも大きなサイズのデータや複雑なデータが含まれているかもしれない.本選競技では実行時間と使用メモリに制限があるので,フィードバックの結果が全問正解でも,提出したソースで満点が取れるとは限らない.
フィードバックの詳細については,2月9日のプラクティス(実機練習)の時間に確認することを勧める.

フィードバックが与えられるまでに時間がかかることがある.競技終了 15 分前までに提出されたソースには競技時間内にフィードバックが与えられる.それ以降に提出されたソースには競技時間内にフィードバックが与えられるとは限らない.
採点方法 予選同様,採点用入力データに対する出力の正誤で得点を定める.
ただし,予選と異なり実行時の実行時間と使用メモリに制限がある. 制限は問題ごとに異なり,競技時に配布される Overview Sheet に記載される.
採点プログラムは,Overview Sheet に記載されているコンパイルオプションを用いて解答プログラムをコンパイルし,採点用入力データに対して実行する.時間・メモリの制限を満たして正常終了し,かつ,出力が正しい場合に,その採点用入力データへの出力は正解となる.
正解した入力データに対し,配点分の得点が与えられる.問題によっては,複数の入力データをセットにして採点することもある.セット採点を行う場合は,1 つのセット内の全てのデータに正解した場合に限り,そのセット分の得点が与えられる.セット採点についての詳細は Overview Sheet に記載される.

ソースを提出する回数に制限はない. ソースを複数回提出した場合は,提出された全てのソースが採点され,提出されたソースの得点の最大値がその問題の得点となる.
質問 質問がある場合は,競技開始から 2 時間経過するまで質問票を提出することができる.質問への回答は「正しい」「正しくない」「ノーコメント」「課題の記述の中に答えはある」「無効」のいずれかである.競技開始から 2 時間経過後も質問票を提出することはできるが,競技時間内に回答するとは限らない.
禁止事項
  • 競技に先立ち,競技に使用するPCにいかなるデータもコピーしてはならない.
  • 競技中は,参考書・ノート・辞書などの資料を参照してはならない.
  • 競技中は,本委員会が用意した機器以外の機器(携帯電話・電卓・電子辞書・外付けキーボードなど)を使用してはならない.また,USB メモリや CD-ROM 等の外部メディアの使用も禁止されている.
  • 提出する解答プログラムは,実行時に標準入出力以外にアクセスしてはならない.一時ファイルの作成,ネットワークへのアクセス,外部プログラムの呼び出しは禁止されている.
  • Windows 7 上で動作する VMware Player の仮想マシン上で競技を行うこと.競技中は Windows 環境のデスクトップに戻ってはならない.

本選FAQ

よくある質問とその回答です.実際にあった質問については,表現を変更している箇所もあります.今後,皆さんから質問がありましたら,その質問と回答を追加していきます.

Q1: どうして本選では参考資料の閲覧や,PCへのデータのコピーが許されないのですか? 本選で使用可能なプログラミング言語は C/C++ のみとなっています.本選でJava が使用できない理由を教えてください.
A1: 日本情報オリンピックは,国際大会である国際情報オリンピック IOI の日本代表選手選考を兼ねています.IOI では参考資料の閲覧やPCへのデータのコピーは認められていません.また,IOI では Java を使用することはできません.日本情報オリンピックでは,選考が進むにつれて徐々に IOI の競技規則・競技環境に近づくよう,競技規則・競技環境を定めています.

Q2: プラクティス時にスクリプトファイルや C++ のソースコードなどのファイルを作成しておき,競技中にそれらを使用することはできますか?
A2: できません.プラクティス終了後は,仮想マシンを新しいものに入れ替えますので,プラクティス時に作成したスクリプトファイルやソースコードを競技中に参照することはできません.

Q3: 言語規定に関してですが,定められた方法でコンパイルが可能なら,実装方法等は問わないということでよろしいでしょうか?移植性の無いプログラムを書いても構いませんか?インラインアセンブリを使ってもよいでしょうか?
A3: はい.採点は,皆さんが本選で使用するPCと同一機種,同一環境で行います.

Q4: 競技中に,機器にあらかじめインストールされている man や info などのドキュメントを参照してよろしいでしょうか?また,STLのドキュメントを参照する手段は用意されていますか?
A4: 本委員会が本選競技のために用意した環境に含まれているドキュメントは,man や info も含めて利用可能です.C++ STL Document (英語) を用意します.

Q5: 本選競技中,開発を補助するプログラムやスクリプトを適時作成実行しても構いませんか?
A5: はい.

Q6: 電卓の使用も禁止されていますが,競技時間内に計算するためのプログラムを作成して計算してもよいでしょうか?
A6: はい.また,もし競技環境に電卓ソフトウェアがインストールされている場合は,競技中にそれを利用しても構いません.

Q7: 本選競技中に Ubuntu のデスクトップ環境をカスタマイズしても構いませんか.
A7: はい.

Q8: 本選競技の環境はインターネットと接続されていますか?
A8: 接続されていません.

Q9: 自分の使い慣れているアプリケーションをインストールして,本選競技で使用することはできますか?
A9: できません.本選競技では本委員会が用意したソフトウェアのみ使用できます.

Q10: 競技中に手元でコンパイル・実行する場合と,本選競技システム上で採点のために実行する場合で,プログラムの実行速度が変わる事はありますか?
A10: 採点は,皆さんが本選で使用するPCと同一機種,同一環境で行います. 同じコンパイルオプションを使えば,基本的には実行速度が変わることはありません. 本選競技システムで使われるコンパイルオプションは,本選競技の際に配布される Overview Sheet に記載されています. 本選競技システムについての詳細は,プラクティスの時間に確認されることをお勧めします.

個人情報の扱いについて

個人情報の扱いについては,情報オリンピック日本委員会の「個人情報保護方針」をご覧ください.