JOI logo

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

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

・今年度の競技規則の昨年からの変更点を「変更点概要」にまとめました.(2011.12.13)
・「ウェブブラウザ」に動作を確認したブラウザを掲出しました.(2011.12.13)
・JOI 2011/2012 予選競技規則を公表しました.今年の競技規則には,昨年から大きく変更された点があります.「質問とその回答」も参照してください.(2011.12.5)

変更点概要       予選競技注意事項       予選競技規則       質問とその回答

JOI 2011/2012 予選競技規則の JOI 2010/2011 からの変更点の概要です.
変更点概要

           

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


変更点概要
解答方法」に関する変更点 「プログラムのソースコードは問題ごとに1つのファイルとすること.」を 「もし,1 つの問題に複数のソースコードがある場合は,1 つの書庫ファイルにまとめて提出すること.この場合,書庫ファイルの形式は,zip 形式や lzh 形式等,任意の形式を用いて構わない. 」に変更した.
入力データの形式」の追加 入力データの形式の項を追加した.
解答の提出」に関する変更点 解答方法」の変更に伴い,表現を変更した.
出力ファイルの形式」に関する変更点 「ここで「空白」とは半角空白のことであり,全角空白やタブではない.」という説明を追加した.
ネットワークへのアクセスに関する規則の変更点 昨年までの「ネットワークへのアクセス禁止」の項を「ネットワークへのアクセスについて」に改めた. 開発環境のマニュアル参照や言語仕様の確認の便宜を計るため, 予選競技実施中のネットワークへのアクセス制限を緩和し, インターネット上で公開されている情報を検索して競技に利用することができるようにした. 「第三者とのやり取りの禁止」に変更はなく, 第三者とのやり取りは,その第三者が競技参加者であるかないかに関わらず,規則違反である (情報オリンピック日本委員会とのやりとりを除く). 競技参加者が予選競技中に予選問題に関する情報を Twitter で発言したり, ブログや SNS に書きこんだり,メールで送信することは従来通り規則違反である.
使用禁止のアプリケーション」に関する変更点 数式処理ソフトや表計算ソフトも開発環境といえるため,使用を認めることにした.
参考資料の閲覧」に関する変更点 ネットワークへのアクセスについて」のように, ネットワークアクセスに関する規則を変更したことに伴い, 閲覧できる参考資料の範囲を広げた.


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


第11回日本情報オリンピック (JOI 2011/2012) 予選競技規則
不正禁止  本規則を遵守すること. 規則を破った場合は失格となる. 特に, 競技中に第三者の助けを借りたり, 他の参加者の助けとなる行為は禁止されていることに注意すること.
競技時間  3時間(2011年12月18日(日) 13:00〜16:00)
問題数  6 問
配 点  配点は全問一律で各問 20 点であり, 満点は 120 点となる. また, 問題ごとに採点用入力データが 5 個あり,配点は入力データ 1 個につき 4 点である. 採点用入力データについては「解答方法」を参照のこと.
解答方法  各問題には 5 個の採点用入力データが与えられる. 各問題について, 問題文の趣旨に合致するプログラムを作成し, 5 個の採点用入力データに対して実行し, プログラムのソースコードと採点用入力データに対する実行結果を提出すること.
 プログラムのソースコードとして問題ごとに 1 つのファイルを提出すること.もし,1 つの問題に複数のソースコードがある場合は,1 つの書庫ファイルにまとめて提出すること.この場合,書庫ファイルの形式は,zip 形式や lzh 形式等,任意の形式を用いて構わない.
 1 つの問題の各採点用入力データに対して, 別々のプログラムを書いてはいけない.
 採点は 5 個の採点用入力データに対する出力だけを対象に行うが, 採点用入力データだけに対して動作するのではなく, 問題文の趣旨に合致する動作を行うプログラムの作成を目指すこと. 例えば, 他のプログラムで採点用入力データに対する出力を計算しておき, その出力を表示するだけのプログラムを提出することは, 問題文の趣旨に合致しない.
 一方, 採点用入力データの中には, プログラムを工夫しないと短時間で実行が終わらないようなデータが含まれていることがある. そのため, 一部の採点用入力データについてのみ出力を得ることができた場合は, 出力が得られた分だけを提出すればよい. その出力が正しければ, その分は得点となる.
プログラムの
入出力方法
 プログラムが採点用入力データを読み込んだりそれに対する出力データを書き出したりする方法は問わない. 例えば, ファイル名を実行時に別途指定できるようにプログラムを書いても良いし, ファイル名を固定してプログラムを書いておいて実行時にデータのファイル名を変えることで対応しても良い. また, 標準入出力を使うプログラムを書いておいて, 入出力をリダイレクトしたりコピーアンドペーストしたりしても良い (その場合,余計な文字や行が含まれないよう注意すること. 「出力ファイルの形式」を参照のこと.).
入力データの形式  与えられる採点用入力データの形式は以下の通りである.
  • 入力データの改行コードは, CR+LF である.
  • 複数の項目を含む行では,項目は 1 つの「空白」で区切られている.ここで,「空白」とは半角空白のことであり,全角空白やタブは不正解とする.1 つ目の項目の前や最後の項目の後に「空白」はない.
  • 項目は整数または文字列である.
解答の提出  各問題の解答アップロード機能付きページには,
  • 問題文
  • 5 個の採点用入力データ
  • 解答アップロード欄
が含まれている. 1つのソースファイル,および,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 を競技参加者以外の第三者が操作することも禁止する.
ネットワークへの
アクセスについて
 予選競技中,競技参加者は本競技規則の他の項目に抵触しない範囲でネットワークにアクセスすることができる.
 例えば,問題の閲覧,結果の提出,このページ(注意事項と競技規則)の閲覧,情報オリンピック日本委員会との通信,開発環境に付属するオンラインマニュアルの利用,インターネット上で公開されている情報を検索して競技に利用することは,許される.
 ただし,予選競技中に Twitter,ブログ,SNS 等を用いて情報発信したり,チャット,skype,メールやインターネットの質問サイト等を用いて第三者の助けを借りることは,「第三者とのやり取りの禁止」に抵触するので,許されない.
使用禁止の
アプリケーション
 開発環境,ウェブブラウザ,参考資料を閲覧するために必要なアプリケーション,情報オリンピック日本委員会との通信のために使用するメーラ以外のアプリケーションの使用を禁止する. 前回まで,Mathematica, Maple, MuPad, Maxima などの数式処理ソフト,Excel などの表計算ソフトなどを使用することは禁止していましたが,これらを利用して解答を作成する場合はこれらも開発環境であると解釈して使用することを認めます.
ライブラリの利用  予選競技に使用する PC 上のプログラム開発環境に付随しており, 予選競技開始後にインターネットに接続することなく利用できるライブラリの使用は許される.
参考資料の閲覧  予選競技中に参考資料を閲覧することは許される.具体的には,
  • 競技中に占用できる参考書等の書籍
  • 予選競技に使用するプログラム開発環境に付随しているマニュアルやヘルプ(オンラインマニュアルやオンラインヘルプを含む)
  • 予選競技前や予選競技中に検索して入手した資料やサンプルプログラム
を使用して競技に参加することは許される.また,
  • 入手したサンプルプログラム等をコピーアンドペースト等で解答プログラムに活用すること
  • ブログやインターネットの質問サイトに書かれた内容を,検索して利用すること
も許される.
 ただし,予選競技開始後でかつ予選競技終了前にブログやインターネットの質問サイトに書き込みを行うことは,「第三者とのやり取りの禁止」に抵触するので,許されない.


質問とその回答
Q: 昨年も情報オリンピックに参加しました.昨年の競技規則からの変更点を教えてください.
A: 昨年の競技規則からの大きな変更点は以下の通りです.昨年参加された方も,競技開始前までに今年の競技規則をよく読み,内容を理解した上で競技に参加してください.
  • アプリケーションの制限を緩和しました. 前回までは,Mathematica, Maple, MuPad, Maxima などの数式処理ソフト,Excel などの表計算ソフトなどを使用することは禁止していました.今年は,これらを利用して解答を作成する場合はこれらも開発環境であると解釈して使用することを認めます. 詳しくは「使用禁止のアプリケーション」の項を参照してください.
  • ネットワークへのアクセス制限を緩和しました.前回までは,問題の閲覧, 結果の提出,注意事項と競技規則の閲覧, 情報オリンピック日本委員会との通信以外の目的でネットワークを使用することは禁止されていました.今年は,競技規則の他の項目(特に「第三者とのやり取りの禁止」)に抵触しない範囲で,ネットワークにアクセスすることを認めます.詳しくは「ネットワークへのアクセスについて」の項を参照してください.
  • 参考資料の閲覧規則を改定しました.前回までは,予選競技開始後にインターネットにアクセスするなどして情報を収集することは禁止されていました.今年は,ネットワークのアクセス規制の緩和に伴い,予選競技開始後にインターネットにアクセスして情報収集することができます.詳しくは「参考資料の閲覧」の項を参照してください.
Q: 提出する出力ファイルの最後の改行の有無は正誤に影響しますか?
A: 影響しません. 「出力ファイルの形式」において「提出された出力ファイルに含まれる改行コードの個数が, 問題中の「出力」の項に指定された行数よりも多い場合は不正解とする.」と規定されています. 改行コードの個数が問題中の「出力」の項に指定された行数よりも多い場合は内容にかかわらず不正解となりますが,改行コードの個数が問題中の「出力」の項に指定された行数と同じか 1 つ少ない場合は,正否内容によって決まります.
Q: ソースコードを提出する際,統合開発環境のプロジェクトファイルを圧縮するのには,どのような圧縮形式を用いれば良いのでしょうか?
A: 特に,圧縮形式に制約はありません. ただし,「提出するファイル」に「提出できるファイルのサイズは100KB以下」という制約があることにご注意ください. また,お使いの統合開発環境にソースコードを 1 つのテキストファイルにまとめて保存する機能がある場合は,そのような機能を使うことをお勧めします.
Q: 予選練習の問題 1 と問題 2 は同じ問題ではないでしょうか?
A: いいえ.出力フォーマットの指定が異なります.問題 1 では求めた答えを 1 行で出力します.問題 2 では求めた答えを 2 行に分けて出力します.
Q: インライン関数は使用可能でしょうか?
A: はい.使用可能です.