2020 国内予選 特別競技ルール(仮)

国内予選における競技ルールを以下に示します.

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

※ このルールは2020 国内予選に向け特別に制定したもので,2021年3月の横浜大会以降の競技ルールの先例にはなりません.

 


【履歴】

10/12 公開しました.

10/14 一部変更しました.大きな変更としては,モニターの制限をはずし,Python2 関連の項目を削除したことです.

10/20 自チームの定義を記載しました.QAを追加しました.


 

 

  1. 使用できるプログラミング言語
    競技参加者が使用できるプログラミング言語は C, C++, Java, Kotlin, Python3 のいずれかのみです.
    利用するプログラミング言語で標準で提供されている機能,ライブラリは利用して構いません.
    開発環境(Eclipse, Visual Studio 等)は使用して構いません.
    プログラム内において他言語によるプログラム(perlなど)を起動しているプログラムは解答とは認められません.
  2. 競技中に参照できる情報
    競技者が競技実施中に参照して良い情報は,手書きのメモ,印刷物(参考書,辞書,アルゴリズムのメモやプログラムをプリントアウトしたものを含む)と,プログラミング言語や開発環境に関する標準的な電子化された仕様書やマニュアル (OSやプログラム言語処理系と一緒に標準的にインストールされる man、info 等),また,プログラミング言語や開発環境の仕様文書や標準的マニュアルを事前にWebから入手してダウンロードしておいたもの(Java API document, http://en.cppreference.com/w/File:html_book_20151129.zip 等)に限られます.これら以外のサンプルプログラムやアルゴリズム記述等の情報を競技に使用するマシンに前もって設置、準備してはなりません.
  3. 自チームの選手以外の者との相談の禁止
    競技中,競技者は自チームの選手以外の者と相談してはなりません. コーチとの相談も禁止されています. ただし,システムやネットワークのトラブルへの対応法を相談することは許されます.
  4. ネットワークアクセスの禁止
    所定のWWWサイトにおける問題の閲覧,解答の提出, 順位の確認以外の目的で Web ページにアクセスすることは許されません.ただし,自チームの者と相談するためのみにSNS等へアクセスすることは許されます.
    審判団に連絡する必要が生じた場合,実行委員会へ電話をください.そのための電話番号は競技中に問題の閲覧や解答の提出を行うWebページに掲載されます(事前には公開されません).
  5. 使用する計算機は 一人 1 台まで
    1 チームには 3 名の競技者がいますが,競技には一人 1 台まで計算機を使用できます.AWSなどのクラウドは利用出来ません.
  6. プログラム自動生成ツールの使用禁止
    yacc や lex といったプログラムの自動生成が可能なツールの 使用は禁止します。
  7. ネットワークやマシントラブル等
    競技時間内にてネットワークやマシンのトラブル等でコーディングができないなどのトラブルがあっても個別に競技時間を延長することはありません.予備の通信手段(携帯電話機によるテザリングなど)の準備を推奨します.
  8. 問題開示の禁止
    競技終了までは問題を自チームの選手以外に開示することは許されません.

【競技ルール FAQ】

  • Q1.3人一緒に参加する予定です.PCは3人で1台にしなけれなりませんか?
    A1.いいえ.3人一緒だったとしても3台活用してもかまいません.ただし,2人で1台なども認められます.
  • Q2. 3人で連絡をとるのはどうしたらよいでしょうか.
    A2.  会議システム(Zoom, Hangout, Skype等)やSNS等を活用してかまいません.
  • Q3. 3人で連絡をとらなくても競技に参加できてしまいます.それでもいいでしょうか.
    A3. かまいませんが,同じ問題に一緒に Submit するなどすると,ペナルティがかかりますので不利になります.リアルタイムに連絡をとることを推奨します.
  • Q4. 競技ルール 1 において使用できるプログラミング言語を定めていますが,これはチームごとに1つの言語のみを使えるということですか、それとも、問題ごと、提出ごとに異なる言語を使ってもよいのですか?
    A4. 後者です.各チームは、問題ごと,提出ごとに,C, C++, Java, Kotlin, Python3 のいずれかを選んで解答してください.問題ごとにプログラミング言語を変えても構いませんし,ある問題への提出が誤答となった後,別の言語で作りなおして解答を提出しても構いません.ただし,「成績判定ルール」内の「完了の判定・入力データ」にあるように,完了の条件は「同一のプログラムが、まだ解いていない入力データ2つに対し連続で正答を出力することができた」ことであることに注意してください.
  • Q5. 言語についてですが,どの標準規格の使用が認められているかがルールに記載されていないですが,任意の規格が認められているのですか?
    A5. リストにあるプログラミング言語(C, C++, Java, Kotlin, Python3)であれば,バージョンは問いません.
  • Q6. 競技ルール2 に競技中に参照可能な電子マニュアルとして,「http://en.cppreference.com/w/File:html_book_20151129.zip」 が挙げられていますが,
    このサイトの日本語版 「http://ja.cppreference.com/book/」 を電子マニュアルとすることは許されていますでしょうか?
    A6. はい,認められます.Webから入手し,事前にダウンロードしておいてください.
  • Q7. 事前準備として,プロジェクトやコンパイル用のシェル,空のファイルをつくっておいても良いですか?
    A7. いいえ,認められません.事前の電子的な準備は全て認められません.なお,必要な項目を列挙したメモ紙を用意し,本番その紙を見ながらファイルを作成することは認められています.
  • Q8.Python の threading, C++11のstd::thread などの言語標準機能で使用できるマルチスレッドは使用しても構わないですか?
    A8.はい,認められます.標準機能の利用は問題ありません.
  • Q9.PCの立ち上げも事前の電子的準備に含まれますか
    A9.PCやソフトウェアの起動は問題ありません.ここでの電子的準備とは,事前のライブラリ等の入力を指します.
  • Q10.事前準備はどこまで許されますか? 例えば,ICPC競技用フォルダを作っても良いですか?
    A10. 認められません.
  • Q11.競技が開始してから記述したプログラムを、slackなどを通して端末間で共有することは許されますか?
    A11.はい,同じチーム内であれば認められます.
  • Q12.自宅のPCには,競技で禁止されているプログラムがたくさん格納されています.全て削除する必要がありますか?
    A12.削除する必要はありませんが,競技中に閲覧,使用しないで下さい.
  • Q13. PCにプリンターがたくさんつながっているのですが,プリンター一台という制限はありますか?
    A13. いいえ,ありません.プリンターの台数制限はありません.
  • Q14. コーチが代理で問題を印刷してもよいでしょうか?
    A14. いいえ,認められません.「8. 問題開示の禁止」に抵触します.