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

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

更新履歴

目次

日時

2012年2月11日(土)15:00 ~ 2月12日(日)17:00

会場

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

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

スケジュール

2月11日 (土)
受付開始   15:00 (競技用PCには16:00まで触れません)
実機練習時間 16:00~18:00
講演 18:15~19:00
チェックイン 19:00~19:30 (宿泊室整理)
懇親会 19:30~20:30 (懇親会は無料です)
宿泊
2月12日 (日)
開場 9:00
着席 9:30
本選競技 10:00~14:00
昼食 14:30~15:30
問題解説 15:30~17:00
アンケート後,自由解散

付き添い教員研修会

2月12日11:00~13:00に,本選競技と併行して,付き添いで来場された学校の先生方との教員研修会を開催しました.
学校事例紹介発表スライド ■東京都立多摩科学技術高等学校(PDF532KB)松江工業高等専門学校(PDF930KB)

本人確認

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

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

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

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

交通費の補助について

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

「北海道・沖縄」より飛行機を利用される場合には,領収書と往復の搭乗半券を提出していただきます. 領収書と往路の搭乗半券は受付時に提出していただきます. 領収書と往路の搭乗半券が揃っていないと交通費が支払えませんので,なくさないように気をつけてください. また復路の搭乗半券の提出につきましては,後から送っていただくことになります. 復路の搭乗半券を入れて送付する封筒は情報オリンピック日本委員会で用意します.

「北海道・沖縄」以外の地域から本選参加のため飛行機を利用する場合は, 情報オリンピック日本委員会で陸路を含む経路を調査した額でのお支払いとなります. この場合、搭乗半券の提出は必要ありません.

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

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

会場へのアクセス

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

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

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

本選競技内容

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

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

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

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

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

ハードウェア
ノート型パーソナルコンピュータ 富士通 FMV-A8290 (FMVNA1CG)
  • CPU: Core2Duo P8700 (2.53GHz)
  • メモリ: 4GB
  • ハードディスク: 160GB
  • ディスプレイ: 15.6インチ TFTカラー液晶 (1366×768)
  • マウス: 光学式スクロールマウス

ソフトウェア
  • Ubuntu 10.10 Desktop 日本語 Remix
    http://www.ubuntulinux.jp/products/JA-Localized
    Windows 7 Professional (32 bit) 上で動作する VMware Player 4.0 の仮想マシンで競技を行います.後日,練習用仮想マシンをダウンロードできるようにします.ダウンロード用 URL は1月15日頃に本選参加者にメールで通知します.
    (VMware Player: http://www.vmware.com/jp/products/player/)
  • gcc/g++ 4.4.5
  • gdb 7.2
  • C++ STL Document (英語)
  • Gnu Emacs
  • Vim
  • gedit
  • Ubuntu ディストリビューションに含まれる,その他のエディタ
解答方法および解答提出方法 課題の趣旨に合致するプログラムを作成し,解答提出用 Web インタフェースからソースを提出すること.解答プログラムは,入力を標準入力から読み込み,出力を標準出力に出力し,正常終了すること(0 を返すこと).
提出した解答には,フィードバック(「完全」「部分」「例のみ」のいずれか)が与えられる.
(以下 1/14 追記)
フィードバックが与えられるまでに時間がかかることがある.競技終了 15 分前までに提出されたソースには競技時間内にフィードバックが与えられる.それ以降に提出されたソースには競技時間内にフィードバックが与えられるとは限らない.
ソースを提出する回数に制限はないが,複数回提出した場合は,最後に提出したソースのみが採点の対象となる.
採点方法 予選同様,採点用入力データに対する出力の正誤で得点を定める.
ただし,予選と異なり実行時の実行時間と使用メモリに制限がある. 制限は問題ごとに異なり,競技時に配布される Overview Sheet に記載される.
採点プログラムは,Overview Sheet に記載されているコンパイルオプションを用いて解答プログラムをコンパイルし,採点用入力データに対して実行する.時間・メモリの制限を満たして正常終了し,かつ,出力が正しい場合に,その採点用入力データへの出力は正解となる.
正解した入力データに対し,配点分の得点が与えられる.問題によっては,複数の入力データをセットにして採点することもある.セット採点を行う場合は,1 つのセット内の全てのデータに正解した場合に限り,そのセット分の得点が与えられる.セット採点についての詳細は Overview Sheet に記載される.
(以下 1/14 追記)
ソースを複数回提出した場合は,最後に提出したソースのみが採点の対象となる.
質問について
(1/14 追加項目)
質問がある場合は,競技開始から 2 時間経過するまで質問票を提出することができる.質問への回答は「正しい」「正しくない」「ノーコメント」「課題の記述の中に答えはある」「無効」のいずれかである.競技開始から 2 時間経過後も質問票を提出することはできるが,競技時間内に回答するとは限らない.
禁止事項
  • 競技に先立ち,競技に使用するPCにいかなるデータもコピーしてはならない.
  • 競技中は,参考書・ノート・辞書などの資料を参照してはならない.
  • 競技中は,本委員会が用意した機器以外の機器(携帯電話・電卓・電子辞書・外付けキーボードなど)を使用してはならない.また,USB メモリや CD-ROM 等の外部メディアの使用も禁止されている.
  • 提出する解答プログラムは,実行時に標準入出力以外にアクセスしてはならない.一時ファイルの作成,ネットワークへのアクセス,外部プログラムの呼び出しは禁止されている.
  • Windows 7 上で動作する VMware Player の仮想マシン上で競技を行うこと.競技中は Windows 環境のデスクトップに戻ってはならない.

本選FAQ

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

Q1: どうして本選では参考資料の閲覧や,PCへのデータのコピーが許されないのですか?
A1: 日本情報オリンピックは,国際大会である国際情報オリンピック IOI の日本代表選手選考を兼ねています.選考が進むにつれて徐々に 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: 競技中に提出されたソースは Overview Sheet に記載されているコンパイルオプションを用いてコンパイルされ,いくつかの入力データに対して実行されます.その結果がフィードバックとして競技参加者に通知されます.競技参加者は,フィードバックを利用することで,自分の提出したソースが問題文の仕様をみたしているかどうかを確認することができます.
「完全」「部分」「例のみ」は,フィードバックに用いられる入力データの種類を表します.
「部分」「例のみ」の場合,採点用入力データには,フィードバックで用いられる入力データよりも大きなサイズのデータや複雑なデータが含まれているかもしれません.本選競技では実行時間と使用メモリに制限がありますから,フィードバックの結果が全問正解でも,提出したソースで満点が取れるとは限りません.
フィードバックの詳細については,2 月 11 日のプラクティス(実機練習)の時間に確認されることをお勧めします.

Q11: 本選で使用可能なプログラミング言語は C/C++ のみとなっています.本選でJava が使用できない理由を教えてください.
A11: 理由の一つは,Java を使用可能とした場合,プログラミング言語間の公平性を保つことが難しくなることです.Java で書かれたプログラムは実行速度が遅く,起動時にJVM を読み込むオーバーヘッドがありますので,どうしても C/C++ と比べると不利になってしまいます.
また,JOI は IOI 日本代表選手選考を兼ねた国内大会です.IOI では Java は使用できませんので,JOI のルールもそれにあわせた方が,日本代表選手によりふさわしい選手を選考できると考えています.
過去には JOI の本選・合宿で Java が使用可能だったこともありますが,現在では,「予選はプログラミング言語を問わないが本選以降は C/C++ のみ」の方が JOI の競技によりふさわしいと判断し,このようなルールを定めています.

Q12: コンパイルスクリプトを利用する場合とコンパイラを直接実行する場合で,作成される実行ファイルの実行速度が変わる事はありますか?
A12: 同じコンパイルオプションを使っている限り,実行速度が変わることはありません.本選競技システムで使われるコンパイルオプションは,本選競技の際に配布される Overview Sheet に記載されています.また,本選競技システムについての詳細は,プラクティスの時間に確認されることをお勧めします.

個人情報の扱いについて

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