TopCoderでCodeProcessor+TZTester+FileEdit

上位陣が結構使ってるプラグイン構成

FileEditは外部ファイルをソースとして自動で読み込むようにするもの。
Meadowなりなんなり好きなエディタが使えます。コピペの必要がありません。

TZTesterはテストコード自動生成プラグインで、
ローカルコンパイル&実行すると提示されているサンプルパターンを
全部一気にチェックしてくれます。

手順

Plugin紹介ページからTZTester.jar, FileEdit.jar, CodeProcessor.jarをダウンロード

Competition Arenaの「Options → Editor」で「Editor Preferences」を開く

Common ClassPathにBrowseボタンでTZTester.jar, FileEdit.jarを追加

Addボタンを押して以下のように入力してOKを押す
Name: CodeProcessor
EntryPoint: codeprocessor.EntryPoint
ClassPath: CodeProcessor.jarのパス

CodeProcessorを選択し、Configureを押して「CodeProcessor Configuration」を開く

「Editor EntryPoint」にfileedit.EntryPointと入力してConfigureを押す

「General」タブで「Enter directory to read/write problems to」にソースを置きたいディレクトリを記入

「Code Template」タブでTZTester用にTemplateを編集する。例えばC++ならば

class $CLASSNAME$ {
public:
$RC$ $METHODNAME$($METHODPARMS$) {

}
$TESTCODE$
};

// BEGIN CUT HERE
int main() {
$CLASSNAME$ ___test;
___test.run_test(-1);
}
// END CUT HERE


とする。「// {BEGIN|END} CUT HERE」で囲まれる部分は
CodeProcessor FileEditがSubmit時に削除してくれる。

Saveボタンを押したら今度は「Processor Class」に「tangentz.TZTester」と
記入して「Verify」を押す。3つのメソッドについて「found」と出たらOK。
だめだったらCompetition Arenaを再起動してからチェック。

使い方

新しい問題を開くとDefault Languageに基づいてスケルトンが出来上がる。
外部ファイルを編集・保存してからCompetition Arenaのほうで
Compileを押すと自動的にソースが読み込まれてコンパイルされる。
※ 問題を開いてから言語を変えた場合、前に選択していた言語のままのソースが
外部ファイルにエクスポートされてしまう模様なので注意。

外部ファイルをローカルコンパイルして実行するとTZTesterが生成したテストコードが
実行されて結果が出る。

かなり楽ちんになるでしょう。
ここまでやったらあとはコーディングの実力を・・・

C#用テンプレート

私が使っているC#用テンプレートです

- よく使うクラスライブラリのusing
- デバッガが起動しないようにする (Thanks unnonouno)


using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;

public class $CLASSNAME$ {
public $RC$ $METHODNAME$($METHODPARMS$) {

}
$TESTCODE$// BEGIN CUT HERE
public static void Main() {
try {
$CLASSNAME$ ___test = new $CLASSNAME$();
___test.run_test(-1);
} catch(Exception e) {
//Console.WriteLine(e.StackTrace);
Console.WriteLine(e.ToString());
}
}
// END CUT HERE
}


Comments

nkjm wrote:

参考になります。早速使ってみようかと。
>ここまでやったらあとはコーディングの実力を・・・
これが一番難しい。
アルゴリズムが見えるプラグインとかないですかねorz
Saturday 07 October 19:03

Add Comments

このアイテムは閲覧専用です。コメントの投稿、投票はできません。