NOI linux下Arbiter评测软件的使用
安装NOI linux
我这边用的是虚拟机,不过考虑到 arbiter 比较卡,所以也可以考虑直接装成系统来提高评测速度。
首先从官网上下载 NOI linux 的 镜像文件
然后就直接安装系统,它的系统是 Ubuntu 14,所以直接按照 Ubuntu 的分区方式来就好。
装好之后用默认的密码 123456 就可以登录了。
Arbiter 的使用
进入系统之后点击左上角可以从 编程 中找到 Arbiter,如图:

新建比赛
首先先打开 nautilus ,在一个你喜欢的地方新建文件夹。比如说这里我在桌面新建了一个叫noip contest的文件夹:

然后在 Arbiter 中选择新建比赛,找到这个文件夹/home/noilinux/Desktop/noip contest,点击确定。

建好比赛之后可以新建考试,在考试中能够添加题目。
添加数据
Arbiter 中数据的格式是以 xx.in 、 xx.ans 的形式命名的。例如一个名叫 “example” 的题目,一共10个数据点,那么你就需要准备 example1.in ~ example10.in 和 example1.ans ~ example10.ans 这些文件。
所有的数据都应该放到 evaldata 文件夹中,不需要新建子文件夹。

选手代码
你可以手动添加选手,也可以通过csv导入。
在添加完选手之后,你需要把选手的代码都放到对应编号的文件夹下,再全部放入 players 文件夹中。
文件夹结构如下
| players
|- 编号
| |- 试题文件夹
| |- 源文件
如图:

测试
完成上面的步骤之后就可以开始测试了。
测试之后评测细节可以在 result 文件夹中查看
补充
官方发的选手源代码是放在试题文件夹下的,用lemon测不方便,可以写个py来快速地把源代码移出来:
import os, shutil
for dirname, subdirs, files in os.walk('.'):
s=str(dirname)
if (s=="."): continue
for subdir in subdirs:
for subdirname, subdirs, files in os.walk(os.path.join(dirname,subdir)):
for file in files:
shutil.move(os.path.join(subdirname, file), s)
todo
回cq之后补一点截图

浙公网安备 33010602011771号