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