2023年12月15日
情報オリンピック日本委員会
JOI 2023/2024 本選はオンラインで開催します. 自宅または学校の部室などから参加してください.
インターネット接続環境および開発環境は各自で用意してください.
JOI 本選に進出した有資格者が JOI 本選に参加するには, 受付システムのマイページより競技者本人による JOI 本選参加申込手続きが必要です.
詳細は本選実施要領・本選でお知らせします.
競技時間 | 4 時間 |
---|---|
課題数 | 5 題 |
配点 | 配点は各課題 100 点で, 満点は 500 点となる. 各課題は 1 つまたは複数の小課題からなる. 小課題の配点は問題文中に記載する. |
使用できるプログラミング言語 | C++ (C++ のバージョンは C++20) 本選競技システムで使われるコンパイルオプション 【g++ (C++)】 -DEVAL -std=gnu++20 -march=native -O2 -pipe -static -s-o 2024-ho-t? 2024-ho-t?.cpp コンパイルオプションは競技システムからも確認できる. |
使用できる用品 | 筆記用具および計算用紙を使用できる. 筆記用具と計算用紙は各自で用意すること. 競技参加者は, 競技中に小さなマスコットを机の上に置くことができる. 小さなマスコットを身につけて競技に参加することもできる. |
使用できる機器・ソフトウェア | 参加者が競技中に生成 AI (ChatGPT 等) を使用することは禁止されている. 生成 AI を除き, 本選競技に使用可能な機器・ソフトウェアに制限は無い. 競技規則の他の禁止事項に抵触しないのであれば,オンライン・オフラインを問わず,生成 AI を除くあらゆるソフトウェアやウェブサービスを利用することができる. 競技参加に必要な機器・ソフトウェアは各自で用意すること. もしウェブサービスを利用してソースコードの作成や検証をする場合は, 作成したソースコードが競技時間中に第三者の目に触れることのないように十分注意すること. 各自の用意した機器・ソフトウェアで本選競技に問題無く参加できることをプラクティスの時間に確認すること. |
解答方法・解答提出方法 | 本選競技は CMS (Contest Management System) を用いて実施する. 課題の趣旨に合致するプログラムを作成し, 解答提出用 Web インタフェースからソースを提出すること. 解答プログラムは, 入力を標準入力から読み込み, 出力を標準出力に出力し, 正常終了すること(0 を返すこと). 提出した解答にはフィードバックが与えられる. 各課題ごとに, 最後の提出から 1 分間は解答を提出することができない. 各課題ごとに, ソースを提出することができる回数は 50 回までである. 【ジャッジシステムの仕様について】 CMS でテスト機能が使用できる. ソースコードと入力ファイルをアップロードすることで,ジャッジサーバー上での実行結果を得られる. |
フィードバック | 競技中に提出されたソースは「使用できるプログラミング言語」に記載のコンパイルオプションを用いてコンパイルされ, 問題文中の例と, 全ての採点用入力データに対して実行される. その結果がフィードバックとして競技参加者に通知される. 競技参加者は, フィードバックを利用することで, 自分の提出したソースが問題文の仕様をみたしているかどうかを確認することができる. また, その課題に関する自分の得点を競技中に知ることができる. フィードバックの詳細については, プラクティスの時間に確認すること. フィードバックが与えられるまでに時間がかかることがある. 競技終了 15 分前までに提出されたソースには競技時間内にフィードバックが与えられる. それ以降に提出されたソースには競技時間内にフィードバックが与えられるとは限らない. |
採点方法 | 予選同様, 採点用入力データに対する出力の正誤で得点を定める. ただし, 実行時の実行時間と使用メモリに制限がある. 制限の詳細は競技システムの問題ごとのページから確認できる. 採点プログラムは解答プログラムをコンパイルし, 採点用入力データに対して実行する. 時間・メモリの制限を満たして正常終了し, かつ, 出力が正しい場合に, その採点用入力データへの出力は正解となる. 各課題は 1 つまたは複数の小課題からなる. 小課題に関する詳細は問題文中に記載する. 各小課題に対し, いくつかの採点用入力データをセットにして採点を行う. セット内の全ての採点用入力データに正解した場合に限り, その小課題分の得点が与えられる. ソースを複数回提出した場合は, 提出された全てのソースが採点される. 各小課題に対し, 提出された全てのソースにおけるその小課題の得点の最大値が, その小課題の最終的な得点となる. 各課題の得点は, その課題に含まれる小課題の最終的な得点の合計である. |
質問 | 競技参加者は, 質問がある場合はコンテストシステムの「質問 (Questions) 」欄から質問を提出することができる. 競技開始から 2 時間経過するまでに提出された質問には競技中に回答する. 競技開始から 2 時間経過後も質問を提出することはできるが, 競技時間内に回答するとは限らない. 競技中の質問方法および質問への回答の確認方法は, プラクティスの時間に確認することを勧める. 質問は日本語で行うこと. |
資料の参照・インターネットの利用 |
|
禁止事項 |
|
アピール(異議) | 競技時間終了後に採点用入出力データを配布する. 参加者は採点用入出力データを用いて自分の提出したプログラムの動作確認を行うことができる. 競技結果についてアピール(異議)がある場合は, 定められたアピール期間内であれば, アピールを提出することができる. 提出されたアピールに基づき採点をやり直すことがある. 採点をやり直した結果, 参加者の得点は上がることもあれば下がることもある. アピール後の得点が最終的な得点となる. アピール期間終了後に競技結果が確定する. アピール期間終了後のアピールは認められない. アピール期間およびアピール提出方法は競技参加者に別途連絡する. |
注意事項 | C++ の入出力について 大量の入出力データを扱う課題を解く際に, 入出力の処理に cin / cout ストリームを使用した C++ プログラムは scanf / printf 関数を使用した同等のプログラムに比べて遅くなることがある. 入出力データが多い課題では, cin / cout ストリームを使用して実行時間を超過する場合に, scanf / printf を使用することで入出力を高速化できることがある. スタック制限について 特に指定のない限り, 競技システムで実行される際のスタックのサイズに制限はない. ただし, 使用されるスタックは, そのプログラムが使用するメモリの一部として扱われるので, 各課題のメモリ制限を超えることはできない. 手元の環境で再帰処理を行うときはスタックオーバーフローに注意すること. 各課題のメモリ制限は CMS で確認できる. |
その他 | 本選競技課題および採点用入出力データは, 後日, 情報オリンピック日本委員会のウェブページで公開する. |
よくある質問とその回答です. 実際にあった質問については, 表現を変更している箇所もあります. 今後, 皆さんから質問がありましたら, その質問と回答を追加していきます.
個人情報の扱いについては, 情報オリンピック日本委員会の「個人情報保護方針」をご覧ください.