Topcoder Arena 插件使用方法
评论566次阅读2009.02.11 10:26; 作者:Felicia
TopCoder是一个优秀的网上编程竞赛平台。网站上同时提供了不少辅助性的插件,大部分是参赛者所贡献的。这些插件可以根据题目描述自动生成代码模版以及测试用例,便于在比赛中节约时间,以最高的效率解决问题。
插件下载
以CodeProcessor+FileEdit+TZTester为例介绍一下插件组合的安装方法: 策略设置
首先要修改系统的安全设置,找到java plugin所用的策略文件,一般是Program FilesJavajre1.5.0_02libsecurityjava.policy,在其中加入如下几行
permission java.lang.RuntimePermission "setSecurityManager";
permission java.lang.RuntimePermission "createSecurityManager";
};
这一步可能需要重新启动系统才能生效。 安装插件
- 下载插件
- 启动TCApplet并登陆
- 在option中选择Editor
- 点ADD
- name可以随便取一个,如CodeProcessor
- EntryPoint填:codeprocessor.EntryPoint,注意区分大小写
- classpath一栏,反复使用Browse加入CodeProcessor.jar,FileEdit.jar,TZTester.jar等,也可以手动输入,多个类之间以”;”隔开,可以使用相对路径。
- 如果设置正确,在点ok后,列表中就会多出一项
- 选择CodeProcessor,点Configure
- 在Editor EntryPoint里输入fileedit.EntryPoint,Configure可以对Editor进行详细的配置
- 在Processor Class里输入tangentz.TZTester,Verify可以校验输入是否正确
- 配置fileedit,将模版文件修改成TZTester提供的形式,
#include <algorithm>
#include <stdexcept>
#include <iostream>
#include <sstream>
#include <fstream>
#include <numeric>
#include <iomanip>
#include <cstdlib>
#include <cstring>
#include <utility>
#include <cctype>
#include <vector>
#include <string>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
#include <ctime>
#include <list>
#include <map>
#include <set>
using namespace std;
#define PB push_back
#define MP make_pair
typedef vector<int> VI;
typedef vector<string> VS;
typedef vector<double> VD;
typedef pair<int,int> PII;
typedef long long LL;
typedef unsigned long long ULL;
class $CLASSNAME$ {
public:
$RC$ $METHODNAME$($METHODPARMS$) {
}
$TESTCODE$
};
// BEGIN CUT HERE
int main() {
$CLASSNAME$ ___test;
___test.run_test(-1);
}
// END CUT HERE
使用方法
打开题目,fileedit便会将解析题目得到的代码模版保存到本地文件中,TCApplet的编辑框中则输出提示信息。在竞赛过程中,可以选择将模版保存到指定的文件中,这样可以不用反复在IDE中手动加载;练习过程中,则可以选择保存到与类名相同的文件中,便于归档。TZTester会自动往代 码中加入测试用例,这些代码用自定义标记隔开,在提交系统进行编译测试的过程时候会被自动过滤。
在使用fileedit生成代码的时候可能会出现缩进不整齐的情况,可以用Astyle格式化。
与fileedit同类的还有KawigiEdit和PopsEdit等,这两个是独立的编辑器,不需要外部软件和IDE。各种Editor都可以脱离CodeProcessor使用,对于简单的应用已经足够。PopsEdit甚至还支持java代码的调试
TZTester生成的测试代码中,每个测试用例被写在同一行内。可读性比较差。而ExampleBuilder生成的代码则比较繁琐,并且在头部加入了一堆辅助函数。
其他几个插件还没有尝试,网页上也提供了插件编写的API,可以创建自己的插件

- 评论 (0)
- 引用通告 (0)
发表评论 引用通告暂无评论.
暂无引用通告