mojというTopCoder Arenaのプラグインの紹介です。日本語でこれについて書いてある情報が無かったので書きました。因みにこの記事の内容の殆どは次のフォーラムの引用です。
TopCoder Forums moj (TZTester modification, new features)
mojについて
SRMのソースコードのスケルトンを生成するときに賢いテストコードを挿入します。問題に提示されている全テストケースを瞬時に正確に判定でき、時間を節約できます。
mojはTZTesterの修正版です。TZTester他のプラグインについてはぐぐってください。
機能要約:
- 出力がかわいくなる
- doubleの誤差1e-9まで許容
- 簡単にカスタムテストを作れる
- Javaと切り替え可能
- 実行時間測定
他に特筆すべきこと:
- gcc,VCに対応
- テストコードがclassの外にあり邪魔にならない
出力はこんな感じにかわいくなります。
Test Case #0... PASSED (relative error 5.44969e-014) Test Case #1... PASSED (relative error 5.68462e-012) Test Case #2... PASSED (relative error 4.05691e-008) Test Case #3... PASSED
使い方
フォーラムの “Download moj” のリンクからzipを落とします。CodeProcessorとFileEditも同梱されています。
基本的にmoj_instructions.txtに説明が書かれていますが、周りのプラグインの入れ方は先程のようにぐぐったほうが詳しく画像付きで説明されていたりするので、その方が間違いもなく楽です。TZTesterとの差分は、次のように読み替えるだけです。
- TZTester.jar → moj.jar
- tangentz.TZTester → moj.moj
既に他のプラグインを入れている方は、次の箇所を更新してください。
- Common ClassPath
- CodeProcessor Configuration > CodeProcessor Script
- CodeProcessor Configuration > FileEdit Configuration > Code Template
雛形はzipにcpp,javaファイルがあるので、それに習って書き換えます。