传统题配置

数据

对于传统题,您上传的×.zip数据包应当包括这些内容:

  • 题目配置文件
  • 测试数据
  • 额外测试数据(包括题面中所给的测试样例)
  • (开启 hack)数据检验器
  • (开启 hack)标准程序

题目配置文件

题目配置文件应当命名为problem.conf。这是一份配置的样例:

n_tests 10
n_ex_tests 1
n_sample_tests 1
input_pre www
input_suf in
output_pre www
output_suf out
time_limit 1
memory_limit 512
output_limit 64
use_builtin_judger on
use_builtin_checker ncmp

测试点

n_tests 10
n_ex_tests 1
n_sample_tests 1

这三行分别代表标准测试点、额外测试点和测试样例的数量。其中,额外测试点的前几个一定是测试样例,所以你必须把题目中给出的测试样例放到额外测试点当中。

UOJ 的 extra test 是指在 AC 的情况下会测额外数据,如果某个额外数据通不过会被倒扣3分。

input_pre www
input_suf in
output_pre www
output_suf out

这四行分别指明了每个测试点输入文件的前缀、扩展名、输出文件的前缀、扩展名。

标准测试点的文件名应当形如:www1.inwww1.outwww2.inwww2.out……

额外测试点的文件名应当形如:ex_www1.inex_www1.outex_www2.inex_www2.out……

限制

time_limit 1
memory_limit 512
output_limit 64

这三行配置了评测时对选手程序的时间限制、内存空间限制和输出限制。

时间限制的单位为秒,不能为小数。内存空间和输出限制的单位为 MB。

校验器(checker)

校验器用来检查选手程序的输出是否正确。

use_builtin_judger on
use_builtin_checker ncmp

第一行表示使用内建校验器,第二行表示使用的校验器类型。testlib 提供了很多奇奇怪怪的校验器。

校验器 功能
ncmp (单行整数序列)比较有序64位整数序列
wcmp (单行字符串序列)比较字符串序列
fcmp (多行数据)逐行进行全文比较,不忽略行末空格,忽略文末回车。
icmp 比较单个整数
ncmp (单行整数序列)比较有序64位整数序列
uncmp (单行整数序列)比较无序64位整数序列,即排序后比较
acmprcmp 比较单个双精度浮点数,最大绝对误差为 1.5e-6
dcmp 比较单个双精度浮点数,最大绝对或相对误差为 1.0e-6
rcmp4 比较双精度浮点数序列,最大绝对或相对误差为 1.0e-4
rcmp6 比较双精度浮点数序列,最大绝对或相对误差为 1.0e-6
rcmp9 比较双精度浮点数序列,最大绝对或相对误差为 1.0e-9
rncmp 比较双精度浮点数序列,最大绝对误差为 1.5e-5
hcmp 比较单个有符号大整数
lcmp 逐行逐字符串进行全文比较,多个空白字符视为一个
caseicmp 多组数据,比较单个整数,输出形如:Case <caseNumber>: <number>
casencmp 多组数据,比较整数序列,输出形如:Case <caseNumber>: <number> <number> ... <number>
casewcmp 多组数据,比较字符串序列,输出形如:Case <caseNumber>: <token> <token> ... <token>
yesno 比较单个YESNO

其他

您还可以在管理界面通过试题配置按钮进行配置。



[CC协议 BY-NC-SA] 署名 - 非商业性使用 - 相同方式共享 @ UOJ部署指北 2018
Home apps close