2021年12月15日
情報オリンピック日本委員会
2022年2月12日(土) 15:00 ~ 2月13日(日) 15:30
JOI 2021/2022 本選はオンラインで開催します. 自宅または学校の部室などから参加してください. 開発環境は各自で用意してください.
参加申込書・保護者承諾書をhttps://www.ioi-jp.org/joi/2021/2022-ho-form.pdfよりダウンロード&印刷し, 保護者の方と一緒に内容を確認した上で必要事項を記入し, 保護者の方に参加承諾の署名・捺印をしていただき, 以下の 1, 2 いずれかの方法で提出してください (2022年1月10日(月)必着).
〒150-0002
東京都渋谷区渋谷1-10-7 グローリア宮益坂Ⅲ 301
特定非営利活動法人 情報オリンピック日本委員会
本選参加者との連絡は, 基本的に, 本選参加者を対象とした Discord サーバを通じて行います (競技実施中を除く).
Discord サーバへの接続方法は2022年1月中旬頃までに本選参加者に連絡します.
競技実施中の連絡は, コンテストシステムの「質問 (Questions) 」欄から送ってください.
本選競技では, アルゴリズムを設計し, そのアルゴリズムを C++ で実装する課題が出題されます.
どの課題にも実行時の実行時間と使用メモリに制限があります. 課題によってはアルゴリズムの効率が重要となります. 採点用入力データは, 効率が異なる解法を識別できるよう調整されています. どの課題にも, ある程度の効率であって, 正当な解を出力する解法であれば, その課題の制限の中で正解を出力できるような採点用入力データがいくつか用意されています. ですから, 競技参加者が全ての採点用入力データに対して制限内で正解を出力する解法を得られなかった場合でも, 課題に取り組む意味はあります.
第5回~第20回の日本情報オリンピック本選の問題・解説を参照されることをお勧めします.
https://www.ioi-jp.org/problem_archive.php
競技時間 | 4 時間 |
---|---|
課題数 | 5 題 |
配 点 |
配点は各課題 100 点で, 満点は 500 点となる. 各課題は 1 つまたは複数の小課題からなる. 小課題の配点は問題文中に記載する. |
使用できるプログラミング言語 | C++ (C++ のバージョンは C++17) 本選競技システムで使われるコンパイルオプション 【g++ (C++)】 -DEVAL -std=gnu++17 -march=native -O2 -pipe -static -s-o 2022-ho-t? 2022-ho-t?.cpp コンパイルオプションは競技システムからも確認できる. |
使用できる用品 |
筆記用具および計算用紙を使用できる. 筆記用具と計算用紙は各自で用意すること. 競技参加者は, 競技中に小さなマスコットを机の上に置くことができる. 小さなマスコットを身につけて競技に参加することもできる. |
使用できる機器・ソフトウェア |
本選競技に使用可能な機器・ソフトウェアに制限は無い. 競技参加に必要な機器・ソフトウェアは各自で用意すること. 競技規則の他の禁止事項に抵触しないのであれば,オンライン・オフラインを問わず,あらゆるソフトウェアやウェブサービスを利用することができる. もしウェブサービスを利用してソースコードの作成や検証をする場合は, 作成したソースコードが競技時間中に第三者の目に触れることのないように十分注意すること. 各自の用意した機器・ソフトウェアで本選競技に問題無く参加できることをプラクティスの時間に確認すること. |
解答方法および解答提出方法 |
本選競技は CMS (Contest Management System) を用いて実施する. 課題の趣旨に合致するプログラムを作成し, 解答提出用 Web インタフェースからソースを提出すること. 解答プログラムは, 入力を標準入力から読み込み, 出力を標準出力に出力し, 正常終了すること(0 を返すこと). 提出した解答にはフィードバックが与えられる. 各課題ごとに, 最後の提出から 1 分間は解答を提出することができない. 各課題ごとに, ソースを提出することができる回数は 50 回までである. 【ジャッジシステムの仕様について】 CMS でテスト機能が使用できる. ソースコードと入力ファイルをアップロードすることで,ジャッジサーバー上での実行結果を得られる. |
フィードバック |
競技中に提出されたソースは「使用できるプログラミング言語」に記載のコンパイルオプションを用いてコンパイルされ, 問題文中の例と, 全ての採点用入力データに対して実行される. その結果がフィードバックとして競技参加者に通知される. 競技参加者は, フィードバックを利用することで, 自分の提出したソースが問題文の仕様をみたしているかどうかを確認することができる. また, その課題に関する自分の得点を競技中に知ることができる. フィードバックの詳細については, プラクティスの時間に確認することを勧める. フィードバックが与えられるまでに時間がかかることがある. 競技終了 15 分前までに提出されたソースには競技時間内にフィードバックが与えられる. それ以降に提出されたソースには競技時間内にフィードバックが与えられるとは限らない. |
採点方法 |
予選同様, 採点用入力データに対する出力の正誤で得点を定める. ただし, 実行時の実行時間と使用メモリに制限がある. 制限の詳細は競技システムの問題ごとのページから確認できる. 採点プログラムは解答プログラムをコンパイルし, 採点用入力データに対して実行する. 時間・メモリの制限を満たして正常終了し, かつ, 出力が正しい場合に, その採点用入力データへの出力は正解となる. 各課題は 1 つまたは複数の小課題からなる. 小課題に関する詳細は問題文中に記載する. 各小課題に対し, いくつかの採点用入力データをセットにして採点を行う. セット内の全ての採点用入力データに正解した場合に限り, その小課題分の得点が与えられる. ソースを複数回提出した場合は, 提出された全てのソースが採点される. 各小課題に対し, 提出された全てのソースにおけるその小課題の得点の最大値が, その小課題の最終的な得点となる. 各課題の得点は, その課題に含まれる小課題の最終的な得点の合計である. |
質問 |
競技参加者は, 質問がある場合はコンテストシステムの「質問 (Questions) 」欄から質問を提出することができる. 競技開始から 2 時間経過するまでに提出された質問には競技中に回答する. 競技開始から 2 時間経過後も質問を提出することはできるが, 競技時間内に回答するとは限らない. 競技中の質問方法および質問への回答の確認方法は, プラクティスの時間に確認することを勧める. 質問は日本語で行うこと. |
競技中の資料の参照について 競技中のインターネットの利用について |
本年度の本選はオンライン開催である. 競技中の資料の参照およびインターネットの利用に関する規則は, 会場で開催されていたときのものとは大きく異なるので注意すること.
|
禁止事項 |
|
アピール (異議) |
競技時間終了後に採点用入出力データを配布する. 参加者は採点用入出力データを用いて自分の提出したプログラムの動作確認を行うことができる. 競技結果についてアピール (異議) がある場合は, 定められたアピール期間内であれば, アピールを提出することができる. 提出されたアピールに基づき採点をやり直すことがある. 採点をやり直した結果, 参加者の得点は上がることもあれば下がることもある. アピール後の得点が最終的な得点となる. アピール期間終了後に競技結果が確定する. アピール期間終了後のアピールは認められない. アピール期間およびアピール提出方法は競技参加者に別途連絡する. |
その他 |
本選競技課題および採点用入出力データは, 後日, 情報オリンピック日本委員会のウェブページで公開する. |
よくある質問とその回答です. 実際にあった質問については, 表現を変更している箇所もあります. 今後, 皆さんから質問がありましたら, その質問と回答を追加していきます.
個人情報の扱いについては, 情報オリンピック日本委員会の「個人情報保護方針」をご覧ください.