第14回日本情報オリンピック (JOI 2014/2015) 予選競技規則 |
2014年10月6日
情報オリンピック日本委員会
・「質問とその回答」に Q&A を追加しました. (2014.11.1)
・JOI 2014/2015 予選競技規則を公表しました. (2014.10.6)
予選競技注意事項 | 予選競技規則 | 質問とその回答 | ||
---|---|---|---|---|
よくある質問とその回答です.実際にあった質問については,公開に適するよう表現を修正しています. |
予選競技注意事項 | |
---|---|
概要 | 日本情報オリンピックは個人戦である. 予選競技では 6 問の問題が出題され,それぞれの問題に対するプログラムを作成する. ウェブブラウザで My Page にログインし,「予選競技」ページへ進む. ウェブブラウザで問題を閲覧し,解答を提出する. |
質問・問い合わせ | 質問や問い合わせは info@ioi-jp.org 宛の電子メールで行うこと. ただし,予選競技時間中に質問に回答することはない. また,電話などその他の方法での質問は受け付けない. |
会場 | 予選では特定の会場は設けない. 自宅や学校などで,自分の PC あるいは学校の PC などを使って競技に参加すること. |
ウェブブラウザ | 予選で使用予定の PC とブラウザの表示と動作を,予選練習時 (次項「予選練習」を参照) に確認すること. 必要に応じて,支障なく競技に参加できるブラウザを予選競技開始までにインストールしておくこと. |
予選練習 | 12月1日(月)から12月14日(日)11:00 (競技開始 2 時間前) まで, My Page にログインすることで予選練習に参加できる. 予選練習では,問題の表示や解答の提出が正常に行えるか確認できる. また,解答の形式が適切か確認できる. |
第14回日本情報オリンピック (JOI 2014/2015) 予選競技規則 | |
---|---|
不正禁止 | 本規則を遵守すること. 規則を破った場合は失格となる. 特に,競技中に第三者の助けを借りたり,他の参加者の助けとなる行為は禁止されていることに注意すること. |
競技時間 | 3時間 (2014年12月14日(日) 13:00〜16:00) |
問題数 | 6 問 |
配 点 | 配点は全問一律で各問 100 点であり,満点は 600 点となる. また,問題ごとに採点用入力データが 5 個あり,配点は入力データ 1 個につき 20 点である. 採点用入力データについては「解答方法」を参照のこと. |
解答方法 |
|
プログラムの 入出力方法 |
プログラムが採点用入力データを読み込んだりそれに対する出力データを書き出したりする方法は問わない. 例えば,ファイル名を実行時に別途指定できるようにプログラムを書いても良いし,ファイル名を固定してプログラムを書いておいて実行時にデータのファイル名を変えることで対応しても良い. また,標準入出力を使うプログラムを書いておいて, 入出力をリダイレクトしたりコピーアンドペーストしたりしても良い (その場合,余計な文字や行が含まれないよう注意すること. 「出力ファイルの形式」を参照のこと.). |
入力データの形式 |
与えられる採点用入力データの形式は以下の通りである.
|
解答の提出 |
各問題の解答アップロード機能付きページには,
|
提出するファイル |
|
出力ファイルの形式 |
|
採点方法 |
|
第三者との やり取りの禁止 |
予選競技中,競技参加者はいかなる第三者とも,いかなる方法でも相談や情報のやり取りをしてはならない.そのため,競技中は,例えば,Twitter,Facebook,ブログなどへの書き込み,SNS の利用,Skype,LINE,チャットの利用,電子メールの送受信 (情報オリンピック日本委員会とのやりとりを除く) は許されない. |
使用できる プログラミング言語 |
使用できる言語に制限はない. ただし,「使用禁止のアプリケーション」の項を参照のこと. |
使用できる 機種・OS |
インターネットに接続でき予選競技実施システムを利用できるウェブブラウザが競技開始前にインストールされている PC (personal use computer) であれば機種や OS に制限はない. |
使用できるPC の台数 |
予選競技に使用できる PC は 1 台だけである.
ただし,学校の設備を利用して参加する場合で,さらに,開発環境がインストールされた PC (以下この項において「開発用 PC」と呼ぶ) をインターネットに接続することができない場合は,開発用 PC とは別の PC (以下この項において「インターネット接続用 PC」と呼ぶ) から問題文をダウンロードしたり,解答ファイルをアップロードすることは許される. この場合,開発用 PC とインターネット接続用 PC の間で競技参加に必要なデータをコピーするために限り,メディアの利用を許可する. この場合であっても,開発用 PC を複数の競技参加者が共用することはもとより,インターネット接続用 PC を複数の競技参加者が共用することも許されない (「PC 共用の禁止」の項を参照のこと). |
PC 共用の禁止 | 予選競技中,複数の競技参加者が 1 台の PC を共用することを禁止する. また,競技に使用する PC を競技参加者以外の第三者が操作することも禁止する. |
ネットワークへの アクセスについて |
予選競技中,競技参加者は本競技規則の他の項目に抵触しない範囲でネットワークにアクセスすることができる. 例えば,問題の閲覧,結果の提出,このページ (注意事項と競技規則) の閲覧,情報オリンピック日本委員会との通信,開発環境に付属するオンラインマニュアルの利用,インターネット上で公開されている情報を検索して競技に利用することは,許される. ただし,予選競技中に Twitter,Facebook,ブログ,SNS 等を用いて情報発信したり,チャット,Skype,LINE,メールやインターネットの質問サイト等を用いて第三者の助けを借りることは,「第三者とのやり取りの禁止」に抵触するので,許されない. |
使用禁止の アプリケーション |
開発環境,ウェブブラウザ,参考資料を閲覧するために必要なアプリケーション,情報オリンピック日本委員会との通信のために使用するメーラ以外のアプリケーションの使用を禁止する. ただし,Mathematica, Maple, MuPad, Maxima などの数式処理ソフト,および,Excel などの表計算ソフトは開発環境であると解釈し,これらを使用して解答を作成することを認める. |
ライブラリの利用 | 予選競技では,プログラム開発環境に付随しているライブラリや,インターネット上で公開されている外部ライブラリを使用することができる. |
参考資料の閲覧 |
予選競技中に参考資料を閲覧することは許される.
具体的には,
ただし,予選競技開始後でかつ予選競技終了前にブログやインターネットの質問サイトに書き込みを行うことは,「第三者とのやり取りの禁止」に抵触するので,許されない. |
質問とその回答 |
---|
Q: 提出する出力ファイルの最後の改行の有無は正誤に影響しますか? |
A: 影響しません. 「出力ファイルの形式」において「提出された出力ファイルに含まれる改行コードの個数が, 問題中の「出力」の項に指定された行数よりも多い場合は不正解とする.」と規定されています. 改行コードの個数が問題中の「出力」の項に指定された行数よりも多い場合は内容にかかわらず不正解となりますが,改行コードの個数が問題中の「出力」の項に指定された行数と同じか 1 つ少ない場合は,正否内容によって決まります. |
Q: ソースコードを提出する際,統合開発環境のプロジェクトファイルを圧縮するのには,どのような圧縮形式を用いれば良いのでしょうか? |
A: 特に,書庫ファイルの形式に制約はありません. ただし,「提出するファイル」に「提出できるファイルのサイズは100KB未満」という制約があることにご注意ください. また,お使いの統合開発環境にソースコードを 1 つのテキストファイルにまとめて保存する機能がある場合は,そのような機能を使うことをお勧めします. |
Q: 統合開発環境を使用して問題を解こうと思っています.プロジェクトディレクトリのどのファイルを提出すれば良いのでしょうか? |
A: 「解答方法」には,「プログラムのソースコードとして問題ごとに 1 つのファイルを提出すること.もし,1 つの問題に複数のソースコードがある場合は,1 つの書庫ファイルにまとめて提出すること.この場合,書庫ファイルの形式は,zip 形式や lzh 形式等,任意の形式を用いて構わない.」と定められています. 競技中に作成したプログラムのソースコードを提出してください.開発環境によっては,複数のファイルをソースコードとして作成することもあるかもしれません.その場合は,ソースコードとして作成した全てのファイルを 1 つの書庫ファイルにまとめて提出してください. もし,お使いの開発環境にソースコードを1つのファイルにまとめる機能がある場合は,それを使っていただいても構いません. プロジェクトごと圧縮してアップロードすることも可能ですが,提出できるファイルのサイズは 100 KB未満となっていますのでご注意ください. あらかじめ,ソースコードの提出方法を予選練習で確認されることをお勧めします. |
Q: インライン関数は使用可能でしょうか? |
A: はい.使用可能です. |
Q: 問題 1 のプログラムを C++ で書き問題 2 のプログラムを Java で書くなど,問題ごとに異なるプログラミング言語を使ってもいいですか? |
A: はい.問題ごとに異なるプログラミング言語を使用して解答することは可能です. |