配置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

原文地址:https://www.cnblogs.com/Rye-Catcher/p/9667231.html