JOI logo

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

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

・「質問とその回答」に項目を追加しました.(2010.12.19)
・「質問とその回答」を追加しました.(2010.12.16)
・予選競技注意事項「ウェブブラウザ」に動作保証ウェブブラウザを追加しました.(2010.12.13)
・予選競技規則の「提出するファイル」に提出ファイルのサイズの上限を追加しました.(2010.12.13)

予選競技注意事項       予選競技規則       質問とその回答
     

実際にあった質問とその回答です. 質問と回答の表現は,公開に適するよう修正しています.
質問とその回答へ

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


第10回日本情報オリンピック (JOI 2010/2011) 予選競技規則
不正禁止  本規則を遵守すること. 規則を破った場合は失格となる. 特に, 競技中に第三者の助けを借りたり, 他の参加者の助けとなる行為は禁止されていることに注意すること.
競技時間  3時間(2010年12月19日 13:00〜16:00)である.
問題数  6問.
配 点  配点は全問一律で各問 20 点であり, 満点は120点となる. また, 各問の採点用入力データ1つにつき4点である. 採点用入力データについては「解答方法」を参照のこと.
解答方法  各問題には5個の採点用入力データが与えられる. 各問題について, 問題文の趣旨に合致するプログラムを作成し, 5個の採点用入力データに対して実行し, プログラムのソースコードと採点用入力データに対する実行結果を提出すること.
 プログラムのソースコードは問題ごとに1つのファイルとすること.
 1つの問題の各採点用入力データに対して, 別々のプログラムを書いてはいけない.
 採点は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コードに含まれる文字だけが使用できる.
さらに,提出するプログラムのソースファイルのサイズは 100KB 未満でなければならない.
出力ファイルの形式
  • 提出された出力ファイルに, 問題文の指示にない文字・記号が含まれている場合は不正解とする.
  • 出力ファイルの改行コードは, 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) 予選競技開始前に入手したサンプルプログラム等の情報, など. ただし, 予選競技開始後にインターネットにアクセスするなどして情報を収集することは禁止されている. また, 事前に入手したサンプルプログラム等をコピーアンドペースト等で解答プログラムに活用することも許される.


質問とその回答
Q: 提出する出力ファイルの最後の改行の有無は正誤に影響しますか?
A: 影響しません. 「出力ファイルの形式」において「提出された出力ファイルに含まれる改行コードの個数が, 問題中の「出力」の項に指定された行数よりも多い場合は不正解とする.」と規定されています. 改行コードの個数が問題中の「出力」の項に指定された行数よりも多い場合は内容にかかわらず不正解となりますが,改行コードの個数が問題中の「出力」の項に指定された行数と同じか1つ少ない場合は,正否内容によって決まります.
Q: ソースコードを提出する際,統合開発環境のプロジェクトファイルを圧縮するのには,どのような圧縮形式を用いれば良いのでしょうか?
A: 特に,圧縮形式に制約はありません. ただし,「提出するファイル」に「提出できるファイルのサイズは100KB以下」という制約があることにご注意ください. また,お使いの統合開発環境にソースコードを1つのテキストファイルにまとめて保存する機能がある場合は,そのような機能を使うことをお勧めします.
Q: 予選練習の1番と2番は同じ問題ではないでしょうか?
A: いいえ.出力フォーマットの指定が異なります.
Q: インライン関数は使用可能でしょうか?
A: はい.使用可能です.
Q: 競技開始前から競技に使用するPCに入っている電子的な資料を閲覧することは使用可能でしょうか?
A: 競技開始前から競技に使用するPCに入っている電子的な資料のうち, 競技に使用する開発環境およびウェブブラウザで閲覧できるものは使用可能です. 予選競技規則「使用禁止のアプリケーション」で, 「開発環境, ウェブブラウザ, 情報オリンピック日本委員会との通信のために使用するメーラ以外のアプリケーションの使用」が禁止されています. ですので, 競技に使用する開発環境およびウェブブラウザ以外のアプリケーションを起動して資料を閲覧すると規則違反となります.