TopCoder Arena 插件配置(1)Greed 2.0

在之前的TopCoder Arena 一日游记中的最后我们讲到,Topcoder Arena没有插件实在是太麻烦了。

而TopCoder Arena现在主流的3种插件配置中,相对来讲初步配置最省力且题目读起来感觉最好的还是要数Greed 2.0了。


下面简单介绍一下设置和使用Greed 2.0插件的步骤

1、下载Greed 2.0

Greed这个插件是开源插件,托管在GitHub上(https://github.com/shivawu/topcoder-greed),不过很不幸,编译好的jar其实在Amazon AWS上,这又好像不幸被墙了。
当然,为了方便大家,我已经将TopCoder一些常用插件打包上传到这里了,大家可以方便的下载。

2、为Greed 2.0做一些简单设置

首先,Greed 2.0插件和Eclipse有点类似,需要一个Workspace 文件夹来存放所产生的文件。
你可以专门新建一个文件夹(注意:目录不要包含中文)作为Greed 2.0的Workspace

之后,我们要修改Topcoder Arena的编辑器设置。
在Topcoder任意界面点击菜单栏上的Options--Editor,弹出如下对话框
TopCoder Arena 插件配置(1)Greed 2.0_第1张图片
在上面Common ClassPath中建议将放Topcoder Arena插件的目录加进来,之后单击下面的Add按钮,弹出加Editor的对话框
TopCoder Arena 插件配置(1)Greed 2.0_第2张图片
以上设置完后单击OK,再点击新增的Greed2.0插件,单击Configure

在弹出的对话框中填入在之前所新建的文件夹的路径,点击Verify & Save
TopCoder Arena 插件配置(1)Greed 2.0_第3张图片
之后将刚刚新增的Greed 2.0插件前的Default和 At Startup勾上,再依次点击Save和Close保存
到此,Greed2.0的基本设置就算做好了。

3、使用Greed2.0插件

用TopCoder Arena 一日游记中提到的方法打开一个练习题,这个时候你会发现下面的Coding Area被Greed 2.0-RC替换了
TopCoder Arena 插件配置(1)Greed 2.0_第4张图片
这个时候打开之前建立的Workspace文件夹,你会发现此文件夹下Greed插件新建了一个以比赛名字命名的文件夹,双击进入。
TopCoder Arena 插件配置(1)Greed 2.0_第5张图片
在此文件夹下,每个题目会新生成3个文件,分别是预生成的代码文件(.cpp/.java/.cs/.py,视你所选择的语言而定)、题目描述文件(.html)、样例文件(.sample)
首先我们双击打开题目描述文件,题目描述将会在浏览器中显示出来(白底黑字习惯多了的说)
TopCoder Arena 插件配置(1)Greed 2.0_第6张图片
之后双击打开预生成的代码文件,
TopCoder Arena 插件配置(1)Greed 2.0_第7张图片
可以发现,所需要的类的基本框架已经生成好了,需要的大多数头文件也都已经自动加上,下面还有一大堆代码,这是系统自动生成的测试代码。
之后你就开始愉快的实现你的类了。
实现完成之后,编译运行,你将看到如下图所示的结果:
TopCoder Arena 插件配置(1)Greed 2.0_第8张图片
你将看到每个测试点具体的运行情况、通过的测试点个数、用时、当前时刻提交的得分这些情况
Greed2.0插件默认情况下将会把题目最后所给出的几组样例自动加入到.sample文件中
你也可以自己用文本编辑器打开.sample文件,在最后仿照前面的形式,自己加上一些样例,让后面的自动测试代码帮你测试。

当你觉得你写的代码没问题时,回到TopCoder Arena的题目页面,依次点击“Complie”-“Submit”来提交这个题,Greed2.0插件将从你的代码文件中截去最后的测试代码,只提交你所写的代码到TopCoder服务器上。

=======================这是一条分割线========================
Greed2.0能否自己定义一些具体的配置呢?
当然是可以的。
根据Greed项目的说明,在Workspace根目录下放上greed.conf文件,你可以在其中写入很多自定义配置,比如,多彩评测结果显示,自定义代码模板,C#(nunit)/Java(junit)/Python(unittest)下专业的Unit Test代码等等
问题是,这个好像有点复杂,我暂时没有深究的兴趣,有空会把这个坑补上的。

这次就是这样了。

你可能感兴趣的:(Topcoder)