Skip to content

工程配置文件

关于 Tuack-NG 三层工程的配置文件。

比赛配置文件

json
{
  "version": 7,
  "folder": "contest",
  "name": "myoi",
  "subdir": [],
  "title": "试题标题",
  "short title": "试题副标题"
}
字段名值类型描述
versioninteger配置文件版本
folderstring工程层级标识,比赛配置文件必须为 contest
namestring比赛的英文名称(仅 Tuack-NG 使用,不会体现在渲染/导出产物中)
subdirstring[]比赛子目录(比赛日)名称列表,将会按照列表顺序组织比赛日
titlestring比赛标题
short titlestring比赛副标题
use-pretestboolean?是否启用预测试点(目前没有用途)
noi-styleboolean?是否启用 NOI 风格,详见 渲染目标
file-ioboolean?是否启用文件 IO

其中 use-pretestnoi-stylefile-io 会向下继承,并且如果未指定,则会在渲染/测试/导出时,使用模板默认值。

比赛日配置文件

json
{
  "version": 7,
  "folder": "day",
  "name": "day1",
  "subdir": [],
  "title": "场次标题",
  "compile": {
    "cpp": "-O2 -std=c++14 -static"
  },
  "start time": [
    1970,
    1,
    1,
    0,
    0,
    0
  ],
  "end time": [
    1970,
    1,
    1,
    0,
    0,
    0
  ]
}
字段名值类型描述
versioninteger配置文件版本
folderstring工程层级标识,比赛日配置文件必须为 day
namestring比赛日的英文名称(仅 Tuack-NG 使用,不会体现在渲染/导出产物中)
subdirstring[]比赛子目录(题目)名称列表,将会按照列表顺序组织题目
titlestring场次标题
compile{string: string}某种语言的编译选项,键应为这门语言的文件名后缀
start timeinteger[6]?比赛的开始时间,格式为 [年, 月, 日, 时, 分, 秒]
end timeinteger[6]?比赛的结束时间,格式为 [年, 月, 日, 时, 分, 秒]
use-pretestboolean?是否启用预测试点(目前没有用途)
noi-styleboolean?是否启用 NOI 风格,详见 渲染目标
file-ioboolean?是否启用文件 IO

其中:

  • start timeend time 可以不指定,如果不指定,渲染产物中将不显示时间。
  • compile,目前可以给 cppcrs(Rust),py(Python),java 设置编译选项,并且理论上可以自行扩充。
  • use-pretestnoi-stylefile-io 会向下继承,并且如果未指定,则会在渲染/测试/导出时,使用模板默认值。

题目配置文件

json
{
  "version": 7,
  "folder": "problem",
  "type": "program",
  "name": "aplusb",
  "title": "题目名称",
  "time limit": 1.0,
  "memory limit": "512 MiB",
  // ...
}
字段名值类型描述
versioninteger配置文件版本
folderstring工程层级标识,题目配置文件必须为 problem
namestring题目的英文名称(仅 Tuack-NG 使用,不会体现在渲染/导出产物中)
titlestring题目标题
typestring题目类型:program(传统型)、interactive(交互型)或 output(提交答案型)
time limitnumber时间限制,单位为秒
memory limitstring空间限制,支持 SI 或 IEC 标准,详见 ByteSize
samplesobject[]样例数据点列表,详见 数据点配置
dataobject[]正式数据点列表,详见 数据点配置
subtasksobject子任务评分策略,详见 数据点配置
dmkstring数据生成行为默认值,详见 生成配置
argsobject?数据生成器全局参数,详见 生成配置
generatorobject?数据生成器配置,详见 数据生成器规范
checkerobject?SPJ 配置,详见 SPJ 编写参考
validatorobject?Validator 配置,详见 校验配置
testsobject?测试用例程序配置,详见 测试配置
interactiveobject?交互题配置,详见 交互题

相关章节