Arbiter 系統使用說明

Arbiter 系統使用說明

Overview

  • Arbiter是NOI系列賽事的官方評測軟件, 由北航的相關人員開發.
  • 在OIer會經歷的幾場大型比賽中, 除了省選和PKUSC/THUSC不使用Arbiter評測, 其餘比賽(如CTSC, WC, NOI, NOIP)所有使用Arbiter進行官方評測, 最終成績也以Arbiter評測結果爲準.
  • 網絡上一直沒有清晰的Arbiter使用說明....因此提供一份.

Install

  • Arbiter內置在了NOI Linux發行版中, 能夠自行前往NOI官網下載.
  • 其餘下載方式尚不明確.

Usage

  • 首先新建一場比賽, 選擇一個已經建立的文件夾做爲比賽文件夾, Arbiter會自行在該目錄下建立幾個子文件夾.
  • 幾個子文件夾的功能以下:
  • evaldata: 數據文件夾, 全部題目的數據直接放在這一個文件夾中, 不建單獨的子文件夾, 每一個文件的格式形如:test1.in, test1.ans, 注意這裏的答案文件必須用.ans做爲後綴.
  • 若是你的題目的原始數據是以.out做爲後綴名, 你可使用附件一中的Python腳本批量修改.
  • players: 選手源代碼文件夾, 首先創建一個日期文件夾, 如day1(注: 若已經在arbiter中新建了一天的比賽, 那麼這個文件夾會被自動建立), 而後把各個選手的源程序分別創建單獨的文件夾放進day1文件夾.
  • 在每一個選手的文件夾中, 選手須要對於每一個題目建立子文件夾, 並把源程序放到子文件夾中.
  • result: 評測結果文件夾, 每一個以選手名稱做爲名稱的文件夾是評測結果文件, 不須要操做人員手動修改.
  • ps: 評測結果文件夾, 以.ps文件可視化呈現的選手測試點詳細測試狀況, 不須要操做人員手動修改, 在"打印比賽結果"按鈕被操做後會自動建立.
  • 在配置完畢數據和選手源程序以後, 在考試頁面創建一天的考試, 在下面再分別創建試題, 每一個試題按照要求設置便可.
  • 在選手界面, 選擇"導入名單", 導入csv文件的選手名單, 或者直接手動創建選手. 選手的信息分爲選手名稱和選手編號, 其中選手編號必須和players中的文件夾名稱相同.
  • 選擇考試, 點擊測評便可. 注意這個軟件設計的很是辣雞, 測評的時候不要亂動鼠標, 否則會當機.

FAQ

  • 若是有人有疑問能夠在評論區提出, 會在這裏統一解答.

Appendix

#coding:utf-8
import os
def filerename(filepath,srctype,destype):
    for path,dirlist,filelist in os.walk(filepath):
        for file in filelist:

            #防止文件名中包含.
            fullist = file.split('.')
            namelist = fullist[0:-1]
            filename = ''
            for i in namelist:
                filename = filename + i + '.' 
            # print (filename)

            curndir = os.getcwd()    #獲取當前路徑
            # print (curndir)

            os.chdir(path)            #設置當前路徑爲目標目錄
            newdir = os.getcwd()    #驗證當前目錄
            # print (newdir)

            filetype = file.split('.')[-1]    #獲取目標文件格式

            if filetype == srctype:    #修改目標目錄下指定後綴的文件(包含子目錄)
                os.rename(file,filename+destype)

            if srctype == '*':        #修改目標目錄下全部文件後綴(包含子目錄)
                os.rename(file,filename+destype)

            if srctype == 'null':    #修改目標目錄下全部無後綴文件(包含子目錄)
                if len(fullist) == 1:
                    os.rename(file,file+'.'+destype)

            os.chdir(curndir)    #回到以前的路徑

filerename('.','out','ans')

"執行python change.py便可
相關文章
相關標籤/搜索