TopCoderの問題をローカルでテストできるジャッジを書いた

TopCoder ArenaのPracticeってなかなか開かないっていうか本当に開かないですよね。
練習できないですよね。

という訳でローカルでテストするジャッジを作りました。

今のところC++限定です(他言語対応予定あり)。
あと現状TLE/MLEの判定はLinuxでしか効きません。

バグとかあるかもしれないので是非試して、バグとかみつけたら教えてください。

使い方

g++にpathが通っている必要があります。

問題文のクラス名.cppで保存して、

tcjudge (クラス名.cpp)

とかやると、あとはTCのパスワードを要求されるので入力すれば、テストケースとかをWebからとってきてジャッジしてくれます。2回目以降はキャッシュが効くので要求されません。

テンプレート作成機能というのもあって、

tcjudge create (クラス名.cpp)

と打つと、その問題用のテンプレートを作ってくれます。とりあえず作った機能です。

バイナリ

Windows向けのコンパイル済みバイナリおいときます。ウイルススキャンとかしてません。
http://dl.dropbox.com/u/29090144/tcjudge.exe

ソース

peryaudo/tcjudge · GitHub

コンパイルに地味にでかいライブラリを要求してくるのが難点ですが、LinuxとかOSXならパッケージマネージャで普通に入れてコンパイルできると思います。てかPocoはそこそこのディストリなら存在してると思うのでパッケージマネージャで入れるのが本当にオススメです。apt-getとかなんだとか。詳しくありませんが。

あとつけたい機能

  • WA時の表示の改善(WA時出力のファイル化)
  • WindowsでのTime Limit / Memory Limit実装
  • Windowsでのパスワード入力の改善
  • コンパイラ対応
  • 他言語対応
  • (上2つができるようにするための設定ファイルの導入)
  • エラー処理の改善
  • Arenaとの連携機能