Monday, June 05, 2006

Setting Up the Topcoder Arena

aiArena是Topcoder的在线算法竞赛平台,支持Java, C++, C#和VB.Net。所有的SRM和TCO比赛都在Arena进行。

首先要下载Arena,这是一个Java Web Start程序。

然后只需在命令行执行下面命令即可运行Arena:
javaws ContestAppletProd.jnlp
你也可以从www.topcoder.com/tc上以Java Web Start或Java Applet方式加载运行。

Arena上提供了编写代码和测试数据等功能。不过如果你喜欢使用自己的编辑器和编译测试环境,Topcoder上也提供了一些plugin支持。每个plugin都有详细的文档,不过我懒得看,所以直接请教Savior了。下面这些配置都是从他那里学来的,适合C++环境:
  1. 下载FileEdit,CodeProcessor,TZTester这3个plugin。
  2. 运行Arena,在Options菜单中选择Editors项,弹出Editor Preferences窗口。
  3. 点击Add添加一个Editor,弹出Enter Plugin Information窗口。
  4. 在Name栏输入这个Editor的名字(自定,比如C++ Editor),在EntryPoint栏输入codeprocessor.EntryPoint,注意大小写。在ClassPath栏选择3个plugin的路径。
  5. 添加完后回到Editor Preferences窗口。选中新添加的Editor,点击Configure按钮,弹出CodeProcessor Configuration窗口。
  6. 在Editor EntryPoint栏中输入fileedit.EntryPoint,注意大小写。点击后面的Configure按钮,弹出FileEdit Configuration窗口。
  7. 在这里你可以设置生成代码文件的目录,设置各种语言的模板(这里是Savior的C++模板)等。
  8. 设置完后回到CodeProcessor Configuration窗口,在Processor Class栏输入tangentz.TZTester,注意大小写。你可以点击后面的Verify按钮确认这个Class是否存在。

还有一个比较重要的选项就是默认编程语言。在Arena的Options菜单中选择Setup User Preferences项。在弹出窗口中选择Standard Editors栏,然后在Default Language处选中你的默认编程语言。

这样每次选择题目时,就会在你指定的目录自动生成一个包含测试数据的代码文件。你可以用自己的编辑器编辑该文件,用自己的编译器编译测试,最后在Arena上保存并提交。