第17回日本情報オリンピック (JOI 2017/2018)
|
2017年6月30日
情報オリンピック日本委員会
・「質問とその回答」の Q&A にAtCoderコードテスト機能について追記しました. (2017.12.6)
・「質問・問い合わせ」にAtCoder質問機能について追記しました. (2017.12.6)
・JOI 2017/2018 予選競技規則を公表しました. (2017.6.30)
予選競技注意事項 | 予選競技規則 | 質問とその回答 |
---|---|---|
よくある質問とその回答です.
実際にあった質問については, 公開に適するよう表現を修正しています. |
予選競技注意事項 | |
---|---|
概要 |
日本情報オリンピックは個人戦である.
予選競技では 6 問の問題が出題され, それぞれの問題に対するプログラムを作成する.
|
質問・問い合わせ | 質問や問い合わせは info@ioi-jp.org 宛の電子メール,または,AtCoder のコンテストシステム上の「質問」欄で行うこと. ただし, 予選競技時間中に質問に回答することはない. また, 電話などその他の方法での質問は受け付けない.(2017/12/6 AtCoderの質問機能について追記) |
会場 | 予選では特定の会場は設けない. 自宅や学校などで, 自分の PC あるいは学校の PC などを使って競技に参加すること. |
ウェブブラウザ |
予選で使用予定の PC とブラウザの表示と動作を, 予選練習時
(次項「予選練習」を参照) に確認すること.
必要に応じて, 支障なく競技に参加できるブラウザや開発環境を, 予選競技開始までにインストールしておくこと.
|
予選練習 |
2017年11月28日(火)12:00 から2017年12月10日(日)11:00 (競技開始 2 時間前) まで, 予選競技システムにログインすることで予選練習に参加できる. 予選練習では, 予選競技システムの操作方法や, 問題文の表示方法, ソースコードの提出方法, フィードバックの形式が確認できる. |
第17回日本情報オリンピック (JOI 2017/2018) 予選競技規則 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
不正禁止 | 本規則を遵守すること. 規則を破った場合は失格となる. 特に, 競技中に第三者の助けを借りたり, 他の参加者の助けとなる行為は禁止されていることに注意すること. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
競技時間 | 3時間 (2017年12月10日(日) 13:00〜16:00) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
問題数 | 6 問 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
配 点 | 配点は全問一律で各問 100 点であり, 満点は 600 点となる. 問題ごとに複数の採点用入力データを用いて採点を行う. 採点方法については「採点方法」を参照のこと. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
解答方法 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
プログラムの 入出力方法 |
問題文の指示に従い, 標準入力から入力データを読み込み, 標準出力に出力データを書き出すプログラムを作成すること. 予選練習を利用して, あらかじめ, プログラムの入出力方法を確認しておくことを勧める. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
採点用入力データ の形式 |
提出されたソースコードは, 予選競技サーバ上でコンパイル・実行され, 採点が行われる. 与えられる採点用入力データの形式は以下の通りである.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ソースコードの 提出方法 |
各問題の解答アップロード機能付きページには,
ソースコードは, 競技時間中であれば, 何度でも再提出することが可能である. ただし, 予選競技終了時間直前は, アップロードが集中して時間がかかる可能性がある. 早めにアップロードするとともに, 無用なアップロードを避けること. 予選練習を利用して, あらかじめ, ソースコード提出方法を確認しておくことを勧める. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
出力データの形式 |
提出されたソースコードは, 予選競技サーバ上で正常にコンパイル・実行された場合に, 採点が行われる. 以下に従い, 出力データを出力すること.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
採点方法 |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
第三者との やり取りの禁止 |
予選競技中, 競技参加者はいかなる第三者とも, いかなる方法でも相談や情報のやり取りをしてはならない. そのため, 競技中は, 例えば, Twitter, Facebook, ブログなどへの書き込み, SNS の利用, Skype, LINE, チャットの利用, 電子メールの送受信 (情報オリンピック日本委員会とのやりとりを除く) は許されない. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
使用できる プログラミング言語 |
予選競技は, AtCoder のコンテストシステムで行う. 予選競技では, C 言語, C++, Java が使用できる. これ以外にも, 予選競技実施時に AtCoder のコンテストシステムで使用可能なプログラミング言語であれば, どの言語でも使用することができる. ただし, C 言語, C++, Java 以外の言語を用いた場合, 使用する言語によっては実行速度が遅く, 模範解答として想定されているアルゴリズムを用いても満点を得ることが難しかったり不可能な場合もあるかもしれない. 予選練習を利用して, 使用予定の言語について, あらかじめソースコードの作成方法と提出方法を確認しておくことを勧める. 2017年6月30日時点で AtCoder のコンテストシステムで使用可能な言語のバージョン・コンパイル方法・実行方法および使用可能ライブラリは以下の通り (AtCoderのページの「言語」の項と同じ). ただし, これらは, 今後 AtCoder のコンテストシステムが変更になった場合には変更となる可能性がある.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
使用できる 機種・OS |
インターネットに接続でき, 開発環境とウェブブラウザがインストールされている PC であれば機種や OS に制限はない. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
使用できるPC の台数 |
予選競技中に, 開発に使用できる PC は 1 台だけである.
ただし, 開発以外の目的で複数の PC を使用することは許される. 例えば, 開発用 PC とは別の PC (タブレットやスマ―トフォンなど) で問題文を閲覧しながら, 開発用 PC の上でプログラムを作成・実行して予選競技に参加することは許される. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PC 共用の禁止 | 予選競技中, 複数の競技参加者が 1 台の PC を共用することを禁止する. また, 競技に使用する PC を競技参加者以外の第三者が操作することも禁止する. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ネットワークへの アクセスについて |
予選競技中, 競技参加者は, 本競技規則の他の項目に抵触しない範囲でネットワークにアクセスすることができる. 例えば, 問題の閲覧, 結果の提出, このページ (注意事項と競技規則) の閲覧, 情報オリンピック日本委員会との通信, 開発環境に付属するオンラインマニュアルの利用, インターネット上で公開されている情報を検索して競技に利用することは, 許される. ただし, 予選競技中に Twitter, Facebook, ブログ, SNS などを用いて情報発信したり, チャット, Skype, LINE, メールやインターネットの質問サイトなどを用いて第三者の助けを借りることは, 「第三者とのやり取りの禁止」に抵触するので, 許されない. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
使用禁止の アプリケーション |
開発環境, ウェブブラウザ, 参考資料を閲覧するために必要なアプリケーション, 情報オリンピック日本委員会との通信のために使用するメーラ以外のアプリケーションの使用を禁止する. ただし, Mathematica, Maple, MuPad, Maxima などの数式処理ソフト, および, Excel などの表計算ソフトは開発環境であると解釈し, これらを使用して解答を作成することを認める. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ライブラリの利用 |
予選競技では, 開発環境に付随しているライブラリや, インターネット上で公開されている外部ライブラリを使用することができる. ただし, ソースコードを提出する際は, ソースコードを 1 つのファイルにまとめて, ソースコード提出欄より提出する必要がある. 予選練習を利用して, あらかじめ, ソースコードの作成方法と提出方法を確認しておくことを勧める. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
参考資料の閲覧 |
予選競技中に参考資料を閲覧することは許される.
具体的には,
ただし, 予選競技開始後でかつ予選競技終了前にブログやインターネットの質問サイトに書き込みを行うことは, 「第三者とのやり取りの禁止」に抵触するので, 許されない. |
質問とその回答 |
---|
Q: 統合開発環境を用いて予選競技に参加する予定です. 注意すべきことはありますか? |
A: 「ソースコードの提出方法」には,「作成したプログラムのソースコードを 1 つのファイルにまとめて, ソースコード提出欄に入力して提出すること」と定められています. 統合開発環境の設定によっては, 作成したソースコードが複数のファイルに分かれることもあるかもしれません. 予選練習を利用して, あらかじめ, ソースコードの作成方法と提出方法を確認しておくことをお勧めします. |
Q: インライン関数は使用可能でしょうか? C/C++ で 64 bit 型の整数を扱う場合, long long int の代わりに __int64 を使ってコードを書いてもよいのでしょうか?汎用性の無い処理系依存のプログラムを書いても構わないのでしょうか? |
A: 予選競技では, AtCoder のシステムを使用して, 提出されたソースコードのコンパイル・実行を行います. AtCoder のシステムにおける言語ごとのコンパイル方法や言語ごとの実行方法については, AtCoderのページの「言語」の項を参照してください. 予選練習を利用して, あらかじめ, どのような機能が使用可能か確認しておくことをお勧めします. |
Q: 開発環境がインストールされた PC がインターネットに接続されていません. 開発用 PC とは別の PC から問題文をダウンロードしたり, 解答ファイルをアップロードすることは許されますか? |
A: 許されます. 「使用できる PC の台数」の項において, 「予選競技中に, 開発に使用できる PC は 1 台だけである. 」と定められています. 開発以外の目的で複数の PC を使用することは許されます. ただし, 複数の競技参加者が共用することは許されません (「PC 共用の禁止」の項を参照してください). |
Q: ネット上のコンパイラ (ソースをアップロードすると実行結果を返してくれるウェブサービス) を利用して予選競技に参加することはできますか. |
A: 競技参加者は,AtCoder のコンテストシステム上のコードテスト機能を利用して予選競技に参加することができます. AtCoder のコンテストシステム以外のウェブサービスを利用して予選競技に参加することはできません.第三者とのやり取りの禁止には, 「予選競技中, 競技参加者はいかなる第三者とも, いかなる方法でも相談や情報のやり取りをしてはならない」と定められています. したがって, 予選競技時間中に, 予選競技システム以外の場所に自分自身のソースコードをアップロードすることはできません. そのような行為を行った場合, ソースコードが第三者の目に触れる可能性があり, 予選競技規則に違反する可能性があります. 予選競技には, 自分自身の PC にインストールされた開発環境を用いて参加してください.(2017/12/6 AtCoder のコンテストシステム上のコードテスト機能についての説明を加筆しました) |