最近瞎搞用開源UOJ搭了個OJ,在題目配置方面搞了挺久,一開始看vfleaking的文檔還折騰了SVN,特意寫下這篇文章為后來人少走彎路
Step 1
擁有管理權限並設置好題面,支持\(LaTex\)和Markdown
Step 2 設置數據
參考網站
https://vfleaking.github.io/uoj/problem/
https://universaloj.github.io/post/題目管理概述.html
傳統題上傳數據格式
假如輸入輸出文件名是"abc.in/out",那么您的.zip壓縮包需要這些東西(不要建子目錄!!!)
-
所有"abc1.in/out","abc2.in/out"...
-
一個"problem.conf",格式:
use_builtin_judger on
use_builtin_checker ncmp //如果是字符串或浮點數等比較方式(第二個參數)請閱讀參考網站相關資料
n_tests 10
n_ex_tests 0
n_sample_tests 0 //一般的如果我們不需要樣例數據(1_sample_test.in/out)和額外數據(ex_abc1.in/out)的話,把那兩個參數置為0就好了
input_pre abc //輸入文件前綴,比如"abc"
input_suf in
output_pre abc //輸出文件前綴,比如"abc"
output_suf out
time_limit 1
memory_limit 512
output_limit 64 //time_limit單位是秒,memory_limit單位是MB,output_limit是輸出文件限制,單位是MB
上述參數代表什么意思請看參考網站
-
一個"std.cpp",需要文件輸入輸出
-
一個"val.cpp",檢驗hack數據是否合法,但是現在我也不會用,你可以隨意寫但是不能為空也不能編譯錯誤,以后會補上怎么認真寫"val.cpp"這個坑
非傳統題上傳數據格式
坑,待填
Step 3
上傳數據等待完成后點擊與SVN倉庫同步即可,如果您沒有認真地寫"val.cpp"的話請在右邊取消Hack