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++のコンパイルにはg++を使うことになるのですが、cygwin版のg++は権限周りの問題で動かない場合があるようです。そこでMinGW版のg++を使用します。以前はMinGW版のg++のインストールはかなり煩雑だったように思うのですが、最近はmingw-get-instというインストーラーを使って楽をすることができるようです。mingw-get-instはsourceoforgeのダウンロードサイトからダウンロードできます。
インストーラーに従ってインストールするとC:\MinGWにインストールされます。オプションでg++にチェックを入れるのを忘れないようにしましょう。
続いてJDKをインストールします。JDKの最新版は公式サイトからダウンロードできます。
サーバーのみ
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と同じディレクトリに置いておくと、それを使ってコンパイル->実行までやってくれます。
外部リンク
- MinGW - Minimalist GNU for Windows http://sourceforge.net/projects/mingw/
- Java SE ダウンロード - Sun Developer Network (SDN) http://java.sun.com/javase/ja/6/download.html
- CSUS Programming Contest Control (PC^2) Home Page http://www.ecs.csus.edu/pc2/