NOI linux下Arbiter評測軟件的使用


安裝NOI linux

我這邊用的是虛擬機,不過考慮到 arbiter 比較卡,所以也可以考慮直接裝成系統來提高評測速度。

首先從官網上下載 NOI linux 的 鏡像文件

然后就直接安裝系統,它的系統是 Ubuntu 14,所以直接按照 Ubuntu 的分區方式來就好。

裝好之后用默認的密碼 123456 就可以登錄了。

Arbiter 的使用

進入系統之后點擊左上角可以從 編程 中找到 Arbiter,如圖:

avatar

新建比賽

首先先打開 nautilus ,在一個你喜歡的地方新建文件夾。比如說這里我在桌面新建了一個叫noip contest的文件夾:

avatar

然后在 Arbiter 中選擇新建比賽,找到這個文件夾/home/noilinux/Desktop/noip contest,點擊確定。

avatar

建好比賽之后可以新建考試,在考試中能夠添加題目。

添加數據

Arbiter 中數據的格式是以 xx.inxx.ans 的形式命名的。例如一個名叫 “example” 的題目,一共10個數據點,那么你就需要准備 example1.in ~ example10.inexample1.ans ~ example10.ans 這些文件。

所有的數據都應該放到 evaldata 文件夾中,不需要新建子文件夾。

avatar

選手代碼

你可以手動添加選手,也可以通過csv導入。

在添加完選手之后,你需要把選手的代碼都放到對應編號的文件夾下,再全部放入 players 文件夾中。
文件夾結構如下

| players
|- 編號
|   |- 試題文件夾
|       |- 源文件

如圖:

avatar

測試

完成上面的步驟之后就可以開始測試了。

測試之后評測細節可以在 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之后補一點截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM