JOI logo

第9回日本情報オリンピック (JOI 2009/2010) 予選競技規則

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

予選競技注意事項       予選競技規則
予選競技注意事項
概要  日本情報オリンピックは個人戦である. 予選競技では6問の問題が出題され, それぞれの問題に対するプログラムを作成する. ウェブブラウザで My Page にログインし, 「予選競技」ページへ進む. ウェブブラウザで問題を閲覧し, 解答を提出する.
質問・問い合わせ  質問や問い合わせは info@ioi-jp.org 宛の電子メールで行うこと. ただし, 予選競技時間中に質問に回答することはない. また, 電話などその他の方法での質問は受け付けない.
会場  予選では特定の会場は設けない. 自宅や学校などで, 自分のPCあるいは学校のPCなどを使って競技に参加すること.
ウェブブラウザ  予選競技実施システムは Internet Explorer 8 と Mozilla Firefox 3.5, および他の若干のウェブブラウザで表示および動作を確認している.
 予選で使用予定のPCとブラウザの表示と動作を, 予選練習時(次項「予選練習」を参照)に確認すること. 必要に応じて, 支障なく競技に参加できるブラウザを予選競技開始までにインストールしておくこと.
予選練習  12月1日15:00から12月13日13:00まで, My Page にログインすることで予選練習を参加できる. 予選練習では, 問題の表示や解答の提出が正常に行えるか確認できる. また, 解答の形式が適切か確認できる.
 予選練習で使用する問題は, 実際の予選競技で使用する問題とは無関係である.


第9回日本情報オリンピック (JOI 2009/2010) 予選競技規則
不正禁止  本規則を遵守すること. 規則を破った場合は失格となる. 特に, 競技中に第三者の助けを借りたり, 他の参加者の助けとなる行為は禁止されていることに注意すること.
競技時間  3時間(2009年12月13日 13:00〜16:00)である.
問題数  6問.
配 点  配点は全問一律で各問 20 点であり, 満点は120点となる. また, 各問の採点用入力データ1つにつき4点である. 採点用入力データについては「解答方法」を参照のこと.
解答方法  各問題には5個の採点用入力データが与えられる. 各問題について, 問題文の趣旨に合致するプログラムを作成し, 5個の採点用入力データに対して実行し, プログラムのソースコードと採点用入力データに対する実行結果を提出すること.
 プログラムのソースコードは問題ごとに一つのファイルとすること.
 一つの問題の各採点用入力データに対して, 別々のプログラムを書いてはいけない.
 採点は5個の採点用入力データに対する出力だけを対象に行うが, 採点用入力データだけに対して動作するのではなく, 問題文の趣旨に合致する動作を行うプログラムの作成を目指すこと. 例えば, 他のプログラムで採点用入力データに対する出力を計算しておき, その出力を表示するだけのプログラムを提出することは, 問題文の趣旨に合致しない.
 一方, 採点用入力データの中には, プログラムを工夫しないと短時間で実行が終わらないようなデータが含まれていることがある. そのため, 一部の採点用入力データについてのみ出力を得ることができた場合は, 出力が得られた分だけを提出すればよい. その出力が正しければ, その分は得点となる.
プログラムの
入出力方法
プログラムが採点用入力データを読み込んだりそれに対する出力データを書き出したりする方法は問わない. 例えば, ファイル名を実行時に別途指定できるようにプログラムを書いても良いし, ファイル名を固定してプログラムを書いておいて実行時にデータのファイル名を変えることで対応しても良い. また, 標準入出力を使うプログラムを書いておいて, 入出力をリダイレクトしたりコピーアンドペーストしたりしても良い (その場合,余計な文字や行が含まれないよう注意すること. 「出力ファイルの形式」を参照のこと.).
解答の提出  各問題のページには,
  • 問題文
  • 5つの採点用入力データ
  • 解答アップロード欄
が含まれている. ソースファイルおよび5つの入力データに対する出力をそれぞれ1つのファイルにして, 解答アップロード欄から提出せよ. 解答は競技時間中, 何度でも提出し直すことが可能である. ただし, 予選競技終了時間直前は, アップロードが集中して時間がかかる可能性がある. 早めにアップロードするとともに, 無用なアップロードを避けること.
提出するファイル  提出するプログラムのソースファイルおよび出力データファイルの名前に使える文字は, ASCIIコードに含まれる文字のうち次に掲げる文字のみである.
   0 1 2 3 4 5 6 7 8 9
   A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
   a b c d e f g h i j k l m n o p q r s t u v w x y z
   . - _
最後の3文字は,ピリオドとハイフンとアンダースコアである. ここにない文字は空白も含めて使用できない.
 また, 出力データのファイル内容には, ASCIIコードに含まれる文字だけが使用できる.
出力ファイルの形式
  • 提出された出力ファイルに, 問題文の指示にない文字・記号が含まれている場合は不正解とする.
  • 出力ファイルの改行コードは, CR+LF, LF, CR のいずれでもよい.
  • 提出された出力ファイルに含まれる改行コードの個数が, 問題中の「出力」の項に指定された行数よりも多い場合は不正解とする.
  • 提出された出力ファイルの各行に含まれる項目数が, 問題中の「出力」の項に指定されたその行の項目数と異なる場合は不正解とする.
  • 複数の項目を含む行では,項目を「1つの空白」で区切ること. また, 1つ目の項目の前や最後の項目の後に「空白」を挿入してはならない. これらに反する出力ファイルは不正解とする.
  • 項目は整数または文字列である.
  • 項目が整数の場合, 次のように出力(表記)すること.
    正整数
    正整数は, 数字(0 から 9 まで)を用い十進数で表すこと. 先頭が 0 であってはならないし, 符号や小数点をつけてはならない.
        良い例: 123
        悪い例: +123 123.0 0123
    零は 0 で表すこと.
        悪い例: +0 -0 0.0 00
    負整数
    負整数は, 負号(-)の後に 1 個以上の数字を並べた十進数で表すこと. 符号の直後の数字は 0 であってはならない.
        良い例: -123
        悪い例: -123.0 -0123
  • 項目が文字列の場合, 1 個以上の文字の並びとして出力すること.
採点方法
  • ソースファイルが提出されていない問題は, 提出された出力ファイルの内容に関わらず 0 点となる.
  • 各採点用入力データに対して, 提出された出力ファイルが, その問題の「出力」の項の指示および「出力ファイルの形式」の指示に合致している場合に正解となる.
  • ある採点用入力データに対して, 提出された出力ファイルの内容が提出された(ソースコードに対応する)プログラムの出力でないことが判明した場合は, その採点用入力データに対する得点は 0 点となる.
  • 提出された(ソースコードに対応する)プログラムが「解答方法」 に反すると情報オリンピック日本委員会が判定した場合は, その問題に対する得点が 0 点となることがある.
第三者との
やり取りの禁止
 予選競技中, 競技参加者はいかなる第三者とも, いかなる方法でも相談や情報のやり取りをしてはならない. そのため, 競技中は, 例えば, Twitterやブログへの書き込み, SNSの利用, メッセンジャーやチャットの利用, 電子メールの送受信(情報オリンピック日本委員会とのやりとりを除く)は許されない.
使用できる
プログラミング言語
 使用できる言語に制限はない. ただし, 「使用禁止のアプリケーション」の項を参照のこと.
使用できる
機種・OS
 インターネットに接続でき予選競技実施システムを利用できる ウェブブラウザが競技開始前にインストールされている PC (personal use computer) であれば機種や OS に制限はない.
使用できるPC
の台数
 予選競技に使用できるPCは1台だけである.
 ただし, 学校の設備を利用して参加する場合で, さらに, 開発環境がインストールされた PC (以下この項において「開発用 PC」と呼ぶ)をインターネットに接続することができない場合は, 開発用 PC とは別の PC (以下この項において「インターネット接続用 PC」と呼ぶ)から 問題文をダウンロードしたり, 解答ファイルをアップロードすることは許される. この場合, 開発用 PC とインターネット接続用 PC の間で競技参加に必要なデータをコピーするために限り, メディアの利用を許可する. この場合であっても, 開発用 PC を複数の競技参加者が共用することはもとより, インターネット接続用 PC を複数の競技参加者が共用することも許されない (「PC共用の禁止」の項を参照のこと).
PC共用の禁止  予選競技中, 複数の競技参加者が1台のPCを共用することを禁止する. また, 競技に使用するPCを競技参加者以外の第三者が操作することも禁止する.
ネットワークへの
アクセス禁止
 問題の閲覧, 結果の提出, このページ(注意事項と競技規則)の閲覧, 情報オリンピック日本委員会との通信以外の目的でネットワークを使用することは全て禁止する. 例えば, インターネット上で公開されている情報を検索したり, ftp, ssh などによって他のマシンにアクセスすることは禁止されている.
 競技に使用するPCに予選競技開始前に保存した資料やマニュアルをウェブブラウザで閲覧することは, ネットワークを使用していないので, 許される.
使用禁止の
アプリケーション
 開発環境, ウェブブラウザ, 情報オリンピック日本委員会との通信のために使用するメーラ以外のアプリケーションの使用を禁止する. 例えば, Mathematica, Maple, MuPad, Maxima などの数式処理ソフト, Excel などの表計算ソフトなどは使用できない.
ライブラリの利用  予選競技に使用するPC上のプログラム開発環境に付随しており, 予選競技開始後にインターネットに接続することなく利用できるライブラリの使用は許される.
参考資料の閲覧  予選競技中に, 参考資料を閲覧することは許される. 具体的には, (1) 競技中に占用できる参考書等の書籍, (2) 予選競技に使用するプログラム開発環境に付随しているマニュアルやヘルプ, (3) 予選競技開始前に入手したサンプルプログラム等の情報, など. ただし, 予選競技開始後にインターネットにアクセスするなどして情報を収集することは禁止されている. また, 事前に入手したサンプルプログラム等をコピーアンドペースト等で解答プログラムに活用することも許される.