情報オリンピックについて よくある質問とその回答

2007年11月14日
情報オリンピック日本委員会

予選について

その他

予選について

第7回日本情報オリンピック予選の具体的な受験手順を教えてください.
おおよそ,次のような手順になります.
予選の出題や解答はどのような形式ですか?
問題は全部で6問あります. いずれもプログラムを作成する問題です. 各問題のページには, が含まれています. 5つの入力データに対する出力をそれぞれファイルにしてアップロードします. また,ソースもアップロードします. アップロードされた出力の正誤により採点されます.
解答をアップロードをした後,間違いに気づきました. 再提出できますか?
はい.何回でもできます. ただし,試験終了時間間近は, アップロードが集中して時間がかかる可能性もあります. 早めにアップロードするとともに, 無用なアップロードは避けてください. ご協力をお願いします.
5つの入力データに対してのみ動作するプログラムを作成してもよいですか?
5つの入力データに対する出力だけを対象に採点は行いますが, 5つの入力データだけに対して動作するのではなく, 問題文の趣旨に合致する動作を行うプログラムを作成することを推奨します. 例えば,他のプログラムで5つの入力に対する出力を計算しておき, その出力を表示するようなプログラムを作成することは推奨しません.
ある問題は, 5つの入力データの一部にしか出力を得ることができませんでした. その問題は0点になってしまいますか?
5つの入力データの中には,工夫してプログラムを作成しないと, 短時間で終了しないようなデータが含まれていることがあります. そのような場合には,最初の3つだけ出力を得ることができ, 残りの2つは試験時間内に出力が得られないこともあるでしょう. このような場合には, 出力が得られた3つだけをアップロードしてください. その出力が正しければ,その分は得点になります.
どうしてソースを提出するのですか?
本選進出者に対して,アップロードされた出力がそのプログラムから適正に出力されたものかどうかを確認するために利用します.
入力データファイルの改行コードはどうなっていますか? また,提出する出力ファイルの改行コードの指定はありますか?
入力データファイルの改行コードは Windows などで使われている CR+LF です. 提出するファイルの改行コードは, CR+LF, LF, CR のいずれでも結構です.
Windows 系ではない OS を使っています. 入力データファイルの改行コード CR+LF を CR や LF に変換してもよいですか?
必要があれば,変換してください.ただし, ファイル読み込み時に自動的に変換される場合が多いので, 変換の必要性が生じることは少ないと思われます.
入力ファイルの名前を変えて実行してもよいですか?
はい. 例えば,入力ファイル名が固定のプログラムを作成し, プログラムを実行する際に, プログラムの仕様に合わせて入力ファイル名を変更してもかまいません.
入力データを標準入力から入力するようなプログラムでもよいですか?
はい. 例えば, 作成したプログラムの実行時に, 入力ファイルを標準入力にリダイレクトしてもかまいません.
出力ファイルの名前を変更してからアップロードしてもよいですか?
はい. 例えば,出力ファイル名が固定のプログラムを作成し, アップロードする際に出力ファイル名を変更してもかまいません.
標準出力に出力するようなプログラムでもよいですか?
はい. 例えば,標準出力に出力して, 出力ファイルにカットアンドペーストしてもよいですし, 標準出力からアップロード用出力ファイルにリダイレクトしてもかまいません.
アップロードする出力ファイルの名前は指定されていますか?
特に指定はありません.ただし, ファイル名に使える文字は,ASCIIコード (ISO 646-1991) に含まれる文字のうち次に掲げる文字のみです.
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コード (ISO 646-1991) に含まれる文字だけが使えます.
複数のソースファイルに分割して作ったプログラムを1つのファイルに「かためて」アップロードしてもよいですか?
いけません. アップロードしたソースがそのままコンパイル,あるいは, 実行できるものをアップロードしてください.
試験開始前に収集した情報を HTML ファイルで保存しています. 試験中にその HTML ファイルをウェブブラウザで閲覧しても良いですか?
はい,かまいません. ただし,試験開始後にウェブブラウザなどを利用して情報を収集することは禁止されています.

その他

情報オリンピックに向けてどのような勉強をすればよいですか?
勉強法について解説したページがありますので,そちらをお読みください.
国際情報オリンピック(IOI)ではどうして Java を使えないのですか?
いくつかの国から Java を採用するよう提案がなされ, IOI 2005 の総会で一旦は採用することを決めたのですが,その後,とりやめになっています.
IOI ではアルゴリズムの優劣を競います. 本来は,同じアルゴリズムを Java で実装しても C/C++ で実装しても同じ点数になってほしいところです. しかし, Java のプログラムを一般的な環境で実行すると,Java バーチャルマシンの起動にかかる時間等アルゴリズムの本質とは関係のない時間が C/C++ に比べて長くなります. このため, Java と C/C++ の間の公平性を確保するのが難しいとの判断から,今のところ IOI では Java を使うことができません.
日本情報オリンピックで Java を使うと不利になることがありますか?
JOI予選ではプログラミング言語の種類を問いません. 予選はテストデータに対する実行結果を提出する形式ですので, プログラミング言語の差による有利・不利はありません. 自分の使いたい言語を選んでください.
また,JOI本選では C/C++ 言語と Java が使えます. 本選の問題については,Java を選んでも不利にならないように,アルゴリズムやテストデータが検討されています. ですから,JOI 本選では,C/C++ 言語と Java のどちらを選んでも不利になることはありません.
ただし,日本情報オリンピックの成績優秀者から日本代表選手を選抜する春の合宿では, IOI 同様,Java は使えません. 代表選手になるには,合宿までに問題を C/C++ で解けるようになっている必要があります. その手間が必要だという意味では多少の不利はあります.