首页 > 其他分享 >关于 problem.conf

关于 problem.conf

时间:2022-10-26 08:35:42浏览次数:49  
标签:pre conf subtask limit 关于 设置 output input problem

基本设置

problem.conf 中一行只能含有一个设置(不然可能会出现奇怪的错误?)

use_builtin_judger

大多数题的 problem.conf 里都要有 use_builtin_judger on 这句话,这表示您需要使用 OJ 自带的评测系统来评测这道题。

如果您出了一道奇奇怪怪的题(例如毒瘤的通讯题),就需要(联系管理员)帮您量身定做一个合适的 judger.cpp,此时就不需要写这句话了。

use_builtin_checker

如果 problem.conf 里出现了 use_builtin_checker 这句话,表示您将使用 OJ 自带的答案比较器来判断程序的输出是否正确。常见的自带比较器列表如下:

ncmp:整数比较(long long范围内)

wcmp:文本比较

rcmp:实数比较(相对误差 \(1.5\times 10^{-6}\))

rcmp4:实数比较(相对误差 \(10^{-4}\))

yesno:当答案仅一行,为 YES 或 NO 时,忽略大小写差异。

栗子:use_builtin_checker ncmp 或者 use_builtin_checker rcmp6

如果该题需要 SPJ(即 Special Judge),则不需要写这个设置。SPJ 的实现参见 testlib.h(和 Codeforces 的 SPJ 是一样的),名称为 chk.cpp,和 problem.conf 在同一级文件夹下。

vsubmit_answer

设置该题目类型为提交答案型。即设置 submit_answer on。

with_implementer

设置该题目类型为交互型。即设置 with_implementer on。

n_tests

n_tests 设置了测试点数目(默认为 10)。

比如一道题有 20 个测试点,你就需要设置 n_tests 20。

n_subtasks

如果是一道捆绑测试的题,n_subtasks 设置了子任务数量。

比如一道题有 5 个子任务,你就需要设置 n_subtasks 5

subtask_in_folder

设置文件夹中子任务数据自动匹配,具体详见戴大爷的公告。

填写 subtask_in_folder on 即可。

subtask_end_...

如果没有设置子任务自动匹配,那么就需要手动设置每个 subtasksubtask 的结束位置。

例如有 1~5 这些测试点,你要把 \(1,2,3\) 分在 subtask1,4,5 分在 subtask2,只需要写如下的设置:

subtask_end_1 3

subtask_end_2 5

注意不使用 subtask_in_folder 时,必须设置 n_tests。

subtask_dependence_...

子任务依赖设置。如果子任务 3 依赖了子任务 1,那么当子任务 1 没通过时就不会测试 3,并且 3 的结果将会显示 Skipped

上述设置的表达:subtask_dependence_3 1

特别的,如果一个子任务依赖多个子任务(比如 4 同时依赖 1,3),你需要这么写:

subtask_dependence_4 many

subtask_dependence_4_1 1

subtask_dependence_4_2 3

你需要保证子任务依赖是一个 DAG(有向无环图),编号大小不做要求,否则会报错。

subtask_score_...

子任务分值。例如子任务 1 的分值为 30,你就可以这么写:subtask_score_1 30

相同 subtask 的得分只能被设置一次。

point_score_...

测试点分值。测试点默认得分为 \(\lfloor\frac{100}{n}\rfloor\) , \(n\) 为测试点个数。如果 \(n\) 不是 100 的因数时,可能就会出现 通过全部数据但不是 100 分的情况。此时你需要手动设置某个测试点的得分。

例如把测试点 2 的分数设置为 11,你可以这么写:point_score_2 11

time_limit

时间限制。如果时限为 2 秒,填写 time_limit 2 即可。如果不填写,默认时间限制为 1 秒。

memory_limit

空间限制。如果空间限制为 512MB,填写 memory_limit 512 即可。如果不填写,默认空间限制为 256MB。

output_limit

输出限制。格式同 memory_limit,单位 MB,默认为 64MB。

time_limit_ms

以毫秒为单位设置时间限制。例如 1500 毫秒,可以填写 time_limit_ms 1500。当它和 time_limit 同时出现时,默认使用前者。

input_pre

输入文件的前缀,比如输入文件为 tmp1.in,tmp2.in,...,tmp10.in,input_pre 就应当设置为 tmp,即填写 input_pre tmp

默认值为 input,如果设置了 subtask_in_folder on,那么这可以不填写。

output_pre

输出文件的前缀,比如输出文件为 tmp1.in,tmp2.in,...,tmp10.in,output_pre 就应当设置为 tmp,即填写 output_pre tmp

默认值为 output,如果设置了 subtask_in_folder on,那么这可以不填写。

input_suf

输入文件的后缀,例如 in,格式:input_suf in,默认值为 txt。

output_suf

输出文件的后缀,例如 ans,格式:output_suf ans,默认值为 txt。

has_input_pre

如果输入文件没有 input_pre 怎么办?比如很多题目的输入文件是 1.in,2.in,此时就需要填写 has_input_pre false

默认值为 true,即需要填写 input_pre。如果此项设置为了 false 并且还存在 input_pre 设置,那么 input_pre 设置视为无效。

has_output_pre

用来解决输出文件没有 output_pre 的问题,用法同 has_input_pre。

标签:pre,conf,subtask,limit,关于,设置,output,input,problem
From: https://www.cnblogs.com/Feyn/p/16827039.html

相关文章

  • 关于eclipse创建的Dynamic Web Project项目中没有web.xml文件的解决方法
    到目前为止我得到了两种解决DynamicWebProject项目中没有web.xml文件的方法第一种是重新建立项目,在创建DynamicWebProject项目的时候不要马上点finish先点next,点到出......
  • 关于gets()函数 error: 'gets' was not declared in this scope; did you mean 'fgets
    关于gets函数有一段时间没有写算法了,今天重新写一道已经AC的题发现不通过。发现如下报错:error:'gets'wasnotdeclaredinthisscope;didyoumean'fgets'?也就是说......
  • 关于我
    Heybro,这里是DanielMuei,一个本科CS在读生,喜欢探索新知识,结交志同道合的好友。兴趣方向广,ML&DL、数据分析、数据挖掘、Python、C&C++、也喜欢鼓捣一下前端,总之,感兴趣的......
  • 关于order by 或者 group by的优化。
    总结来说就一下几点。1.当类似这种的时候,select*fromawherea.id=XXXXorderbya.b;建立联合索引。当where是范围的时候不走索引的,即使建立了联合索引。具体情况......
  • 关于git中soft mixed hard的区别以及keep的理解
    关于git中softmixedhard的区别以及keep的理解 关于git中softmixedhard的区别以及keep的理解当使用回滚版本的时候,在使用hard、soft、mixed是不一样的1、hard①移......
  • 转iconfont
    iconfont将阿里的iconfont图标下载下来,复制里面的文件(iconfont.css、iconfont.woff、iconfont.woff2)到该工具,跟index.js同级目录在gitdash下输入命令node./index.j......
  • Unable to configure HTTPS endpoint
    ASP.net开发完成以后,目标机上只需要安装aspnetcore-runtime 加dotnet-runtime就可以跑起来了,但是如果还采用了https的方式,此时发现System.InvalidOperationExceptio......
  • 一体化智能机房解决方案--关于数壳
     数据是现代化企业最核心的无形资产,关系到每一个现代企业的发展和生存。“数壳”是为现代企业的业务数据重磅打造的一个智能化的外壳,时刻守护数据的稳固安全及灵活流动;“......
  • 关于存储二叉树
    !前置芝士:二叉树的性质\(1.\)二叉树中,第\(i\)层最多有\(2i-1\)个结点。\(2.\)如果二叉树的深度为\(K\),那么此二叉树最多有\(2K-1\)个结点。二叉树中,终端结点数(叶子结......
  • 关于VM系列振弦传感器读数模块的硬件接口说明
    ​VM系列模块是单振弦式传感器激励、频率读取、温度转换的专业化读数模块,具有集成度高、体积小、精度高、适应能力强、极少的外围电路设计等突出特性,具有多种激励方法、传......