競技ルール

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

  1. 使用できるプログラミング言語
    競技参加者が使用できるプログラミング言語は C, C++, Java, Kotlin, Python2, Python3 のいずれかのみです。
    利用するプログラミング言語で標準で提供されている機能,ライブラリは利用して構いません。
    開発環境(Eclipse, Visual Studio 等)は使用して構いません。
    プログラム内において他言語によるプログラム(perlなど)を起動しているプログラムは解答とは認められません。
  2. 競技中に参照できる情報
    競技者が競技実施中に参照して良い情報は、手書きのメモ、印刷物(参考書、辞書、アルゴリズムのメモやプログラムをプリントアウトしたものを含む)と、プログラミング言語や開発環境に関する標準的な電子化された仕様書やマニュアル (OSやプログラム言語処理系と一緒に標準的にインストールされる man、info 等)、また、プログラミング言語や開発環境の仕様文書や標準的マニュアルを事前にWebから入手してダウンロードしておいたもの(Java API document, http://en.cppreference.com/w/File:html_book_20151129.zip 等)に限られます。これら以外のサンプルプログラムやアルゴリズム記述等の情報を競技に使用するマシンに前もって設置、準備してはなりません。 またUSBメモリやCD-ROM等の外部メディア、電卓や電子辞書、携帯電話も使用してはなりません。
  3. 自チーム以外の者との相談の禁止
    競技中、競技者は自チーム以外の者と相談してはなりません。 補欠ならびにコーチ、監督員との相談も禁止されています。 ただし、システムやネットワークのトラブルへの対応法を監督員を 通じてスタッフに相談することは許されます。
  4. ネットワークアクセスの禁止
    所定のWWWサイトにおける問題の閲覧、解答の提出、 順位の確認 以外の目的で Web ページにアクセスすることは許されません。 また、 ftp、ssh 等のリモートアクセスコマンドによって他のマシンにアクセスすることも禁止します。競技中のチャットや電子メールの送受信も許されません。
    審判団に連絡する必要が生じた場合、監督員経由でメールを送って下さい。そのためのメールアドレスは、競技中に問題の閲覧や解答の提出を行うWebページに掲載されます(事前には公開されません)。
  5. 使用する計算機は 1 台
    1 チームには 3 名の競技者がいますが、 競技にはチーム全員で 1 台の計算機のみ使用できます。 また、その計算機で一度に使用できるのはマウス、キーボード、ディスプレイ、プリンタ各 1 台だけとします。複数チームがプリンタを共用する場合は、他チームのプリントアウトを誤って見てしまうことがないように、監督員がプリンタを管理するようにしてください。
    また、プリンタが少ない等の事情がある場合には、監督員が代理で問題を印刷し配布することは許されます。
  6. プログラム自動生成ツールの使用禁止
    yacc や lex といったプログラムの自動生成が可能なツールの 使用は禁止します。
  7. 監督員の方へ: 競技終了後、 監督員の方から「参加チームに不正行為がなかったこと」を御報告頂きます。 具体的方法は追ってお知らせいたします。

 

【競技ルール FAQ】

    • Q1. 競技ルール 1 において使用できるプログラミング言語を定めていますが、これはチームごとに1つの言語のみを使えるということですか、それとも、問題ごと、解答ごとに異なる言語を使ってもよいのですか?
      A1. 後者です。各チームは、問題ごとに、C, C++, Java, Kotlin, Python2, Python3  のいずれかを選んで解答してください。問題ごとにプログラミング言語を変えても構いませんし、ある問題への提出が誤答となった後、別の言語で作りなおして解答を提出しても構いません。ただし、「成績判定ルール」内の「完了の判定・入力データ」にあるように、完了の条件は「同一のプログラムが、まだ解いていない入力データ2つに対し連続で正答を出力することができた」ことであることに注意してください。
    • Q2.競技ルール5 において使用出来る計算機が1台となっていますが,ノートパソコンのモニター部分と外付けディスプレイを利用し,2箇所に同じ画面を出力する(ミラー)ことはできますか.
      A2.いえ,できません.物理的に1台のディスプレイの利用しか認められません.なお,ディスプレイ等の代わりにプロジェクターや解像度の高い別のディプレイ等の利用は認められますが,その場合は,接続したプロジェクターや別のディスプレイのみに画面を出力しノートパソコンのモニター部分は利用しないで下さい.
    • Q3. 言語についてですが、どの標準規格の使用が認められているかがルールに記載されていないですが、任意の規格が認められているのですか?
      A3. リストにあるプログラミング言語(C, C++, Java, Kotlin, Python2, Python3)であれば,バージョンは問いません.
    • Q4. 競技ルール2 に競技中に参照可能な電子マニュアルとして,「http://en.cppreference.com/w/File:html_book_20151129.zip」 が挙げられていますが,
      このサイトの日本語版 「http://ja.cppreference.com/book/」 を電子マニュアルとすることは許されていますでしょうか?
      A4. はい,認められます.Webから入手し,事前にダウンロードしておいてください.
    • Q5. 事前準備として,プロジェクトやコンパイル用のシェル,空のファイルをつくっておいても良いですか?
      A5. いいえ,認められません.事前の電子的な準備は全て認められません.なお,必要な項目を列挙したメモ紙を用意し,本番その紙を見ながらファイルを作成することは認められています.
    • Q6.キーボード 1 台だけとは,同時にキーボードを使用することを禁止するのであって,複数キーボードを繋げておいて,計算機使用者によってキーボードを使い分けるというのは問題ないのでしょうか?
      A6.いいえ,認められません.複数のキーボードを利用したことになります.やむを得ない場合を除き,競技中にキーボードの交換は認められません.
      例えば,下記のことは認められます:

      • ノートパソコンに外付けキーボード1台つなげ,ノートパソコンに備え付けのキーボードを使わずに外付けキーボードのみ利用する.
      • 競技中,飲み物をこぼしてしまい,キーボードが動かなくなった.監督員の許可のもと,キーボードを取り替えた.
      • チームの選手内に,選手によって JP 配列と US 配列の好みがあるので,ソフトウェア的に切り替える.
    • Q7.Python の threading, C++11のstd::thread などの言語標準機能で使用できるマルチスレッドは使用しても構わないですか?
      A7.はい,認められます.標準機能の利用は問題ありません.
    • Q8.PCの立ち上げも事前の電子的準備に含まれますか
      A8.PCやソフトウェアの起動は問題ありません.ここでの電子的準備とは,事前のライブラリ等の入力を差します.
    • Q9.事前準備はどこまで許されますか? 例えば,ICPC競技用フォルダを作っても良いですか?
      A9. 原則としては認められません.しかし例えば,下記のことが許されます.

      • 3人で共通で利用するPCがなかったので,監督の先生が貸してくれた.監督の先生が,専用のフォルダ(ディレクトリ)を作ってくれた.
      • 大学の共用パソコンを利用することになっていて,担当の方が監督の先生と相談し専用のアカウントやフォルダを作ってくれた.
    • Q10. LibreOffice Calc などの表計算ソフトを使用して考察するのは良いですか?
      • いいえ,認められません.

 

Rules for Japan Online First-round Contest:

  1. Programming languages
    • The programming languages that can be used in the contest are C, C++, Java, Kotlin, Python2 and Python3.
  2. No electronic preparation
    • No electronic materials (e.g., sample programs, algorithm descriptions, etc.) are allowed. Any such materials shall not be installed in advance on computers used for the contest. Similarly, no removable media, such as flash drive and CD-ROM, shall be used. Use of desktop calculators, electronic dictionaries, mobile phones are also not permitted.
    • Printed materials, such as books, dictionaries, etc. can be used in the contest.
  3. No contact with non-team members
    • Contestants shall contact only with other members of the same team during the contest. Note that contestants shall not contact with the team coach nor with the reserve member.
    • Electronic mails and chats are also prohibited during the contest.
  4. No remote accesses
    • Contestants shall not access the Web except for accessing the contest problems, submitting answers and checking the standings.
    • Accessing other machines using remote access commands such as ftp and ssh is also prohibited.
    • Any other type of remote access is prohibited.
    • To communicate with judges, contestants should ask proctors to send emails to judges. The email address of judges will be shown in the web pages for accessing contest problems and submitting solutions.
  5. Only one computer per team
    • Each team can use only one computer. Only one mouse, one keyboard, and one printer can be used at any time during the contest.
  6. No automatic tools for automatic program generation
    • Contestants may not use any programming support tool which can generate programs automatically, such as yacc and lex.
  7. Reports by proctors
    • To Proctors: After the contest, please send to the Organizing
      Committee a completed form to declare that no teams acted
      dishonestly or engaged in unfair practice. Details are to be announced.

【履歴】

7/11 FAQに追加しました.

7/6 FAQに追加しました.

6/20 FAQ に追加しました.

6/15 公開しました.