#6. 如何配置测试数据
如何配置测试数据
当前没有测试数据。
一般情况下,你只需要在题目右侧的文件面板上传测试数据,(通常以 1.in
1.out
)格式命名。
如果你需要修改时空限制:你应该额外上传一个 config.yaml
文件,格式为
time: 2s
memory: 128m
如果你希望使用 SPJ:你可以在 config.yaml
中写
checker_type: testlib # 使用testlib做checker
checker: chk.cc # 使用测试数据中上传的 chk.cc 文件
等等等等。
config.yaml
中所有支持的设置项如下:所有设置都是可选的,如果你希望用默认行为直接不填即可,不需要全文照抄再改
# 题目类型,可以为 default(比对输出,可以含spj), objective(客观题), interactive(交互题)
type: default
# 全局时空限制(此处的限制优先级低于测试点的限制)
time: 1s
memory: 256m
# 输入输出文件名(例:使用 foo.in 和 foo.out),若使用标准 IO 删除此配置项即可
filename: foo
# 此部分设置当题目类型为 default 时生效
# 比较器类型,支持的值有 default(直接比对,忽略行末空格和文件末换行), ccr, cena, hustoj, lemon, qduoj, syzoj, testlib(比较常用)
checker_type: default
# 比较器文件(当比较器类型不为 default 时填写)
# 文件路径(位于压缩包中的路径)
# 将通过扩展名识别语言,与编译命令处一致。在默认配置下,C++ 扩展名应为 .cc 而非 .cpp
checker: chk.cc
# 此部分设置当题目类型为interactive时生效
# 交互器路径(位于压缩包中的路径)
interactor: interactor.cc
# Extra files 额外文件
# These files will be copied to the working directory 这些文件将被复制到工作目录。
# 提示:您无需手动上传 testlib.h。
user_extra_files:
- extra_input.txt
judge_extra_files:
- extra_file.txt
# Test Cases 测试数据列表
# If neither CASES or SUBTASKS are set(or config.yaml doesn't exist), judge will try to locate them automaticly.
# 如果 CASES 和 SUBTASKS 都没有设置或 config.yaml 不存在, 系统会自动尝试识别数据点。
# We support these names for auto mode: 自动识别支持以下命名方式:
# 1. [name(optional)][number].(in/out/ans) RegExp: /^([a-zA-Z]*)([0-9]+).in$/
# examples:
# - c1.in / c1.out
# - 1.in / 1.out
# - c1.in / c1.ans
# 2. input[number].txt / output[number].txt RegExp: /^(input)([0-9]+).txt$/
# - example: input1.txt / input2.txt
#
# The CASES option has higher priority than the SUBTASKS option!
# 在有 CASES 设置项时,不会读取 SUBTASKS 设置项!
score: 50 # 单个测试点分数
time: 1s # 时间限制
memory: 256m # 内存限制
cases:
- input: abc.in
output: def.out
- input: ghi.in
output: jkl.out
# 或使用Subtask项:
subtasks:
- score: 30
type: min # 可选 min/max/sum,分别表示取所有测试点最小值、所有测试点最大值、所有测试点之和
time: 1s
memory: 64m
cases:
- input: a.in
output: a.out
- input: b.in
output: b.out
- score: 70
time: 0.5s
memory: 32m
if: [0] # 可选,传入数组,表示仅在subtask0通过时此subtask才计分
cases:
- input: c.in
output: c.out
- input: d.in
output: d.out
# 提交语言限制
# 列举出所有本题允许使用的语言对应的代码(需要和评测机 lang.yaml 内的语言代码相同)
# 使用语言ID而非名称!对于有子类的选项,请详细至子分类!
langs:
- c
- cc
- cc.cc11o2
- pas