配置UOJ数据的正确姿势
最近瞎搞用开源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