2021 国内予選 特別競技ルール

2021 国内予選における特別競技ルールを以下に示します.このルールは,2021 国内予選のみに適用される競技ルールであり,来年以降の先例にはなりません.

※ 現在,議論されている特別競技ルールです.実行委員会内の以後の議論で変更の可能性があります.何かお気づきの点がありましたら,お寄せ下さい.


【履歴】

  • 9/19 公開しました
  • 9/21 部屋など一部に関して改めました
  • 9/22 記載の一部を改めました
  • 9/23 記載の一部を改めました
  • 10/4 記載の一部を改めました.
  • 10/10 記載の一部を改めました.
  • 11/2 Q18を追加しました.
  • 11/3 Q19 を追加しました

コンテストは,Honor system(自主管理制度)で実施します.つまり,監督はいません.選手は全員ルールを遵守してください.ルールのいずれかを守らなかった場合,そのチームは失格とすることがあります.

選手にはコンテストの前にルールを遵守するという誓約書を提出していただきます.詳細は後日競技者に連絡します.

  1. 競技中の部屋
    • チームの選手は,1箇所に集まってもよいし,2, 3 箇所にわかれてももかまいません.
    • Covid-19 への感染対策を十分に行った場所で参加して下さい.
  2. 使用する計算機は 一人 1 台まで
    • 各選手は,コンテストそのもの(コーディング,プログラム実行,コンテストシステムの利用など)のために,1台まで計算機を使用できます.チームの選手が3人とも同時にコーディングしても構いません.
    • 問題を解くために AWS などクラウド計算資源を利用してはいけません.
    • 自チームの選手とのコミュニケーションやネットワークのトラブル解消のためにテザリング利用をすることを目的とした場合,タブレットやスマホ等,別の計算機を利用するのは構いません.
    • 計算機が一人1台までであれば,計算機を交換してもかまいません.
  3. 連絡や相談
    • 競技中,選手は自チームの選手とのみ,ネットワーク越しや電話を通して相談できます.選手同士が直接面と向かって話すこともできます.ただし自チームの選手以外に会話が聞こえない場所にしてください.
    • コーチとの相談も禁じます. ただし,プリントの補助の依頼やシステムやネットワークのトラブルへの対応法を相談することは許されます.
    • 審判団に連絡する必要が生じた場合,かつ,競技システム上のClarificationの要請もできない状況の場合には,実行委員会へ電話をください.そのための電話番号は事前に連絡します.
  4. 問題開示の禁止
    • 競技終了までは問題を自チームの選手以外に開示することは許されません.
    • 例外として,コーチ等の事情のよくわかっている方が印刷のみをサポートすることを認めます.その場合に,該当する方には事前に誓約書を出して頂きます.
  5. 競技中に参照できる情報
    • 各チームは競技中物理的・電子的リソースを用いることができます.ここでいう物理的リソースは,手書きのメモや印刷物(本,辞書,選手が印刷したものなど)を含みます.電子的リソースは,計算機のローカルディスクにあるすべてのファイル(事前に用意したコードなど)や,インターネット上の多くのリソース(Wikipediaやコード例など)を含みます.
    • lex/yaccなどのプログラム自動生成ツールや,プログラム補完,推薦のソフトウェアを使ってもかまいません.
  6. ネットワークやマシントラブル等
    • 高速かつ安定したネットワーク環境を準備して下さい.競技時間内に選手の責任で生じたネットワークやマシンのトラブル等でコーディングや提出ができないなどのトラブルがあっても個別に競技時間を延長することはありません.予備の通信手段(スマホ等によるテザリングなど)の準備を推奨します.
  7. 競技時間の延長
    • 実行委員会側のシステムトラブル等が生じた場合は,全チームに対して競技時間を延長することがあります.
    • 特定チームだけに不利益になった場合には,そのチームのコンテスト時間だけを延長する可能性もあります.
  8. 使用できるプログラミング言語
    • 競技参加者が使用できるプログラミング言語は C, C++, Java, Kotlin, Python3 のいずれかのみです.
    • 利用するプログラミング言語において,どのようなライブラリの利用も制限しません.
    • プログラム内において既存ライブラリとして提供されている以外の高機能な他言語によるプログラム(perlなど)を起動しているプログラムは解答とは認められません.

【競技ルール FAQ】

  • Q1.3人一緒に参加する予定です.PCは3人で1台にしなけれなりませんか?
    A1.いいえ.3人一緒だったとしても3台活用してもかまいません.ただし,2人で1台なども認められます.
  • Q2. 3人で連絡をとるのはどうしたらよいでしょうか.
    A2.  会議システム(Zoom, Meet, Skype等)やSNS等を活用してかまいません.
  • Q3. 3人で連絡をとらなくても競技に参加できてしまいます.それでもいいでしょうか.
    A3. かまいませんが,同じ問題に一緒に Submit するなどすると,ペナルティがかかりますので不利になります.リアルタイムに連絡をとることを推奨します.
  • Q4. 競技ルール 8 において使用できるプログラミング言語を定めていますが,これはチームごとに1つの言語のみを使えるということですか、それとも、問題ごと、提出ごとに異なる言語を使ってもよいのですか?
    A4. 後者です.各チームは、問題ごと,提出ごとに,C, C++, Java, Kotlin, Python3 のいずれかを選んで解答してください.問題ごとにプログラミング言語を変えても構いませんし,ある問題への提出が誤答となった後,別の言語で作りなおして解答を提出しても構いません.ただし,「成績判定ルール」内の「完了の判定・入力データ」にあるように,完了の条件は「同一のプログラムが、まだ解いていない入力データ2つに対し連続で正答を出力することができた」ことであることに注意してください.
  • Q5. 言語についてですが,どの標準規格の使用が認められているかがルールに記載されていないですが,任意の規格が認められているのですか?
    A5. リストにあるプログラミング言語(C, C++, Java, Kotlin, Python3)であれば,バージョンは問いません.例えば,Visual C++ に標準で含まれるC++17なども含まれます.
  • Q6.Python の threading, C++11のstd::thread などの言語標準機能で使用できるマルチスレッドは使用しても構わないですか?
    A6.はい,認められます.標準機能の利用は問題ありません.
  • Q7.競技が開始してから記述したプログラムを、slackなどを通して端末間で共有することは許されますか?
    A7.はい,同じチーム内であれば認められます.
  • Q8. PCにプリンターがたくさんつながっているのですが,プリンター一台という制限はありますか?
  • A8. いいえ,ありません.プリンターの台数制限はありません.
  • Q9. コーチが代理で問題を印刷してもよいでしょうか?
    A9. 認められます.ただし,担当の方は問題が漏洩しないように,十分配慮してください.
  • Q10. 他のチームが本当に不正をしていないかどうか,不安です.
    A10. 競技の実施にあたっては参加チームを信頼し,ルールの遵守を期待することを基本においています.
    今年度はコロナの影響によって所属校に集まっての参加が難しいチームが少なくないことから,ルールにさまざまな修正を施さざるをえなかったのですが,そのことにさまざまな不安を抱えられていることと思います.監督者不在による公平性への懸念など,様々な観点に関して運営側でも議論を重ねてきました.その結論として,参加チームを信頼する以外に競技を成立させる方法はないと判断し,上記のようにルールを設定いたしました.なお当然ですが,不正が発覚した場合には厳格に対処いたします.
  • Q11. 同時に3人が3台を用いて並列に異なる問題をコーディングしてよいということですか?
    A11. はい,その通りです.
  • Q12. チームメンバーと連絡を取る,具体的にはテキストチャット,通話,ビデオ通話,写真を撮影して共有,といったことを行うために,スマートフォンやタブレット端末を使用した場合,計算機 1 人 1 台のルールに反しますか?
    A12. 競技に関すること以外は認められます.例えば,チームメンバーとの連絡やネットワークの問題が生じたときなどが含まれます.ただし,その端末上でプログラムを実行することは認められませんので,ご注意下さい.
  • Q13. 事前に準備したファイルの内容をコピーして貼り付けることは認められますか?
  • A13. はい,認められます.
  • Q14. Google スプレッドシートやGoogle Docsを使用することは認められますか?
    A14. チームメンバーとの連絡にのみ使用を認めます.
  • Q15. Visual Studio Live Shareなどの機能によってプログラムを同期する行為は認められますか?
    A15. チームメンバーとの連絡にのみ使用を認めます.
  • Q16. 提出するプログラムのサイズに上限はありますか?
    A16. ファイルサイズの上限は512KBです.
  • Q17. チームメンバーと SNS などのインターネット上のサービスを使ってもいいですか?
    A17. かまいません.ただし,チームメンバー以外が連絡の内容を読めたり聞こえたりしてはいけません.例えば一般に公開されているブログやフォーラムなどは使ってはいけません.
  • Q18. AtCoder Library のようなサードパーティライブラリを利用する場合,ライブラリのソースコードも提出するプログラムに含める必要がありますか?
    A18. 必要ありません.コンテスト中に作ったプログラムだけを提出してください.
  • Q19. 競技中,メールを使ってもよいですか?
    A19. 「3. 連絡や相談」に抵触する可能性があります.競技中,選手は自チーム以外の人とコミュニケーションすることが認められていません.新しいメールの受信ができないようにするなどの設定をすれば,メールツールを使ってもかまいませんが,設定ミスなどのリスクを考えますとメールツールを使わないことを推奨します.