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

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

予選について

その他

予選について

第8回日本情報オリンピック予選の具体的な参加手順を教えてください.
おおよそ, 次のような手順になります.
予選の出題や解答はどのような形式ですか?
問題は全部で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 ファイルをウェブブラウザで閲覧しても良いですか?
はい, かまいません. ただし, 予選競技開始後に予選競技に使用するPC内にあらかじめ保存されていない情報を, ネットワーク経由で新たに収集することは禁止されています.
予選競技開始前にサンプルプログラムを PC に保存しました. 予選競技中, そのサンプルプログラムの一部あるいは全部をコピーアンドペーストするなどして, 解答プログラムを作成するのに利用しても良いですか?
いけません. 予選競技開始前に PC に収集した情報の閲覧は許されていますので, 解答プログラムに活用する場合は, コピーアンドペーストしたりするのではなく, 手でタイプして下さい.
出力ファイルの最後に改行をつけますか,つけませんか?
どちらでもかまいません. ファイル末尾の改行の有無は得点に影響しません.
競技開始時刻が過ぎてからでも参加できますか?
はい, 事前に参加登録をしてある方は, 競技開始時刻が過ぎてから予選実施システムにログインして予選に参加することも可能です.
提出締め切り時間後にアップロードしてしまった場合は, 提出締め切り時間前にアップロードしたファイルで採点するのでしょうか? それとも, その部分は0点になるのでしょうか?
提出締め切り後にアップロードし審判団が時間内の提出ではないと判定した場合は, 0 点となります. これまでの大会でこのような措置の対象になった方はいませんので, 今回参加される皆さんもこれまでの参加者同様, 注意しましょう.
予選競技時にアップロードしたデータを紛失してしまいました. ファイルをメールで送ってもらえませんか?
情報オリンピック日本委員会では,予選競技時にアップロードされたデータを受験者に個別に送付することはしていません. 予選競技終了後に自己採点できるように,アップロードしたデータは, 必ず各自で保存しておいてください.

その他

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