CSUS Programming Constest Control System

備忘録がてらICPC模擬地区大会及び地区大会で使用する"CSUS Programming Constest Control System"通称PC^2の使用法をまとめておこうと思います。Windows 7を前提に書いていますが、その他の環境でも同様の方法で動くと思います。以下、サーバー・ジャッジ・チームに分けて書いていきます。

サーバー・アドミン・ジャッジ・チーム共通

PC^2のインストール

公式サイトから適切なバージョンをダウンロードして適当なディレクトリに展開します。

アドミン・ジャッジ・チーム共通

PC^2の設定

pc2v9.iniにコンテストサーバーの情報を書き加えます。コンテストサーバーが"192.168.123.234"の場合、"client"セッションの下に"server=192.168.123.234"などと書けば良いと思います。

ジャッジ・チーム共通

コンパイラのインストール

本番でC++Javaを使うことを前提に書きます。

C++コンパイルにはg++を使うことになるのですが、cygwin版のg++は権限周りの問題で動かない場合があるようです。そこでMinGW版のg++を使用します。以前はMinGW版のg++のインストールはかなり煩雑だったように思うのですが、最近はmingw-get-instというインストーラーを使って楽をすることができるようです。mingw-get-instはsourceoforgeのダウンロードサイトからダウンロードできます。
インストーラーに従ってインストールするとC:\MinGWにインストールされます。オプションでg++にチェックを入れるのを忘れないようにしましょう。
続いてJDKをインストールします。JDKの最新版は公式サイトからダウンロードできます。

パスの設定

コントロールパネル->システム->システムの詳細設定->詳細設定->環境変数->**のユーザー環境変数->新規で、変数名"PATH"、変数値に"C:\MinGW\bin;C:\Program Files\Java\jdk1.6.0_**\bin"を追加します。ディレクトリ名はバージョンによって変わります。

サーバーのみ

pc2serverを起動します。起動する場合はpc9v2.iniの存在するディレクトリをカレントディレクトリとした後、相対パスを指定して起動します。"bin\pc2server"等となると思います。デスクトップにショートカットを作っておくと便利です。

Nameに"site1"、Passwordに"site1"を入力してLoginします。
次にコンテストパスワードを入力します。
コンテストパスワードは何でも良いようです。

アドミンのみ

pc2adminを起動します。起動方法はサーバーと同様です。Accounts・Languages・Problems・Timesを設定します。

アカウント

適切な数をgenerateすれば良いと思います。

Languages

Addボタンを押してGNU C++GNU C・Javaを追加します。
GNU C++GNU Cを追加する場合は、Compiler Command Lineに"-O2"を追加します。またExe NameとExecute Command Lineの末尾に".exe"を追加しておきます。
Javaを追加する場合はExecute Command Lineに最大ヒープサイズを設定するため"-Xmx256m"等を設定しておきます。

Problems

Addを押して問題を追加していきます。
問題タイトルには先頭に"Problem *: "を加えておいたほうが分かりやすいと思います。Run Time Limitは模擬地区大会では60秒程度を設定します。模擬地区大会ではファイル入力となりますので、Problem Requires Input Dataにチェック、Fileにチェックした後、入力データを指定します。Judge Have Provided Answer Fileにチェックした後、出力データを指定します。Show the output window・Show Compareもチェックを入れておきます。
Judging Typeはスタッフが余っている場合はManual Judgingで良いと思います。足りない場合はComputer Judgingが良いと思います。その際、設定の誤りによる不具合を防ぐためにManual Reviewをオンにしておいたほうが良いと思います。

Validatorでは判定方法を設定します。通常のdiffの場合はUse PC^2 Validatorで"1 - Diff"を選んでください。浮動小数validatorや独自Validatorが必要となる場合はUse External Validatorを選んでください。

ジャッジのみ

pc2judgeを起動してください。起動方法はserverと同様です。

チームのみ

pc2teamを起動してください。
つまらないミスを防ぐため、解答submitの前に必ずTestボタンでテストしましょう。*.inファイルをpc2と同じディレクトリに置いておくと、それを使ってコンパイル->実行までやってくれます。

外部リンク