Anhui Online Judge如何添加题目
程序员文章站
2022-05-12 08:33:20
...
前言:Anhui Online Judge是以UOJ为蓝本加以修改而成的一个OJ,拥有强大的评测姬和强大的用户们(笑)。但是用户如何添加题目及上传数据呢?Let’s have a look.
- 如果你是超级用户,你可以在题目列表按下End键,有一个“添加新题”的按钮。点一下会弹出一条消息,点击确定即可。如果你是普通用户,可以联系任意超级用户帮你添加并把你设成该题目的管理员。
- 接下来进入编辑界面,此处以A+B Problem为例。如下图,编写好题面,按Ctrl+D预览(预览就会自动保存了,当然也可以按Ctrl+S手动保存),然后再按Ctrl+D返回编辑。注意几点:你可以粗略地认为两个换行会被替换成一个换行,所以得打很多空行,否则预览会发现题目全挤到一块儿了;写样例输入\输出时记得在首尾加上< pre>和< /pre>(去掉空格)。
- 接下来该整理数据了。先创建多组数据,然后新建一个
problem.conf 文件(数据配置文件),输入以下代码:
use_builtin_judger on
use_builtin_checker ncmp//数据比较方式,在后面详细解释
n_tests 10//数据个数,自己调整
n_ex_tests 0//这个和底下的通常都设为0
n_sample_tests 0
input_pre data//输入文件名,自己调整
input_suf in//输入文件格式
output_pre data//输出文件名,自己调整
output_suf out//输出文件格式,可改为ans等等
time_limit 1//时间限制,自己调整
memory_limit 128//空间限制,自己调整
还得新建个
如下图是一个正确的数据配置:
如果你没写
啊对了,提交完之后记得修改提交记录可视权限,因为AOJ默认的是所有人都可以查看其他人的代码。
至此数据上传完毕!
- 发现数据错了怎么办?先清空原有数据,然后再上传,最后一定要点与SVN仓库同步!一定要点与SVN仓库同步!一定要点与SVN仓库同步!否则会出现玄学错误。
- ncmp单行整数序列;wcmp单行字符串序列;fcmp多行数据(不忽略行末空格,但忽略文末回车)。如果配置错了会出现玄学错误,比方说我有一次搞了个Hello World!的题,用了ncmp结果WA了一上午(;´д`)ゞ
-
val.cpp 就是检验输入数据是否正确的东西。先发上A+B Problem这题的代码,然后大家可以自己修改。
#include"testlib.h"
using namespace std;
int main()
{
registerValidation();
inf.readInt(0,1000000000,"A");
inf.readSpace();
inf.readInt(0,1000000000,"B");
inf.readEoln();
inf.readEof();
return 0;
}
其中testlib.h是要下载并配置的,点击这里就可以下载,然后把这个文件放到MinGW里就可以。不同版本的MinGW路径有微小的差异,所以就不放上来了,希望知道路径的可以私信我的QQ。