TopCoder Competition Arena 外部エディタの設定
環境作りなおすたびに毎回ググってるのでまとめる.
基本はこれ
http://gulfweed.starlancer.org/d/index.php?itemid=10
プラグインを拾ってくる
以下からTZTester.jar
,FileEdit.jar
,CodeProcessor.jar
の3つを拾ってくる.
http://community.topcoder.com/tc?module=Static&d1=applet&d2=plugins
ちなみに私は必要なファイルや過去のコードなどをDropboxにつっこんであります.
CommonClasspathの設定
CommonClasspathにTZTester.jar
とFileEdit.jar
へのパスを設定する.
:
で区切って複数指定する.Browse
ボタンで選択してもOK.
例:/Users/tac/Dropbox/topcoder/TZTester.jar:/Users/tac/Dropbox/topcoder/FileEdit.jar
Pluginを追加
Arenaの Options
-> Editor
-> Editor Preferences
-> Add
で Enter Plugin Information
を開いて以下のように入力.
- Name:
CodeProcessor
- EntryPoint:
codeprocessor.EntryPoint
- ClassPath: CodeProcessor.jarへのパス(例:
/Users/tac/Dropbox/topcoder/CodeProcessor.jar
)
Pluginの設定
上記で追加された CodeProcessor
を選択した状態でConfigure
ボタンを押す.
CodeProcessor Configuration
Editor EntryPoint: に fileedit.EntryPoint
と入力して 、右隣のConfigure
ボタンを押す.
FileEdit Configuration
Enter directory to read/write problems to: に、ソースを置くディレクトリへのパスを指定する.
例:/Users/tac/Dropbox/topcoder
次に、Code Template タブでテンプレートを指定する.
私はC++を使うので、 LanguageにC++を指定してテンプレートをコピペする.
ちなみにこんなかんじにしています.
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <cfloat>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
using namespace std;
class $CLASSNAME$ {
public:
$RC$ $METHODNAME$($METHODPARMS$) {
}
$TESTCODE$
};
// BEGIN CUT HERE
int main() {
$CLASSNAME$ ___test;
___test.run_test(-1);
}
// END CUT HERE
テンプレートを入力したらSave
-> Close
で閉じる.
再び CodeProcessor Configuration
Add
ボタンを押すと、CodeProcessor Script
に空欄が追加されるので、以下を入力する.
tangentz.TZTester
Verity ボタンを押してこんな表示が出ればOK
Class: tangentz.TZTester
Method configuration: not found
Method preProcess: found
Method postProcess: found
Method getUserDefinedTags: found
Please specify class for the code processor
が表示される場合はどっかおかしいです.
最後にSave
ボタンを押して閉じる.その後Arenaを再起動して設定を反映する.
使いかた
適当に問題を開くと、Enter directory to read/write Problems to:
で指定したディレクトリに、開いた問題のClassNameでファイルが作られる.
中身はさっき登録したテンプレートが元になっている.
あとは、そのファイルを好きなエディタで編集して保存するだけ.
保存するとArenaに反映されるので、CompileしたりTestしたりSubmitすればOK.
テスト
テンプレートにはテストケースとエントリポイントが挿入されてるので、g++とかjavacとかでコンパイルして実行すればテストできる.
ちなみに私は、こんなかんじのスクリプト書いてテストしています.
#!/bin/sh
echo $1
g++ -o $1.out $1 && ./$1.out
rm $1.out
結果はこんな感じ.
% ./test.sh Containers.cpp
Test Case #0...PASSED
Test Case #1...FAILED
Expected: "3"
Received: "0"
Test Case #2...FAILED
Expected: "7"
Received: "0"
Test Case #3...FAILED
Expected: "3"
Received: "0"
おしまい.結構長いな...
Author And Source
この問題について(TopCoder Competition Arena 外部エディタの設定), 我々は、より多くの情報をここで見つけました https://qiita.com/tac0x2a/items/5ab73f09d5f2bec4cdf8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .