可以使用使用CYaRon造数据: 博客:https://acmer.blog.csdn.net/article/details/122261480

视频:https://www.bilibili.com/video/BV1p34y1z7Xd

官方出题教程:https://hydro.ac/d/faqs/p

目录

【一】怎么创建题目

【1.1】stp1

image-20211013230951241

【1.2】step2

image-20211013231241445

由于题面是markdown,所以不会的同学请移步学习 -》markdown

创建好后我们刷新就能看到一个文件的地方,这个地方就是我们传数据的地方

image-20211013231414406

【1.3】进来后我们会看到如下情况

image-20211013233123106

【二】关于题目其他配置

【2.1】题目数据

数据的上传也能上传一个输入输出数据的zip压缩包也可以一个一个的上传!

【2.2】图片或者其他文件

如果是有一些附带的题目文件,例如 音频文件 或者其他文件,可以放在题目的文件处: image

如果是图片的话是支持直接Control + V复制粘贴上来的

当然你也可以上传到个人文件的位置,然后再贴一个外链

【2.3】配置文件

和以往不同,我们如果想修改题目的时间限制,空间限制或者是想写 SPJ 或者交互提等则需要再额外追加一个config.yaml文件,这个文件就是对题目的信息配置了,这里我简单提一下

例如:A+B的题目里面的配置文件:

# 题目类型,可以为 default(比对输出,含spj), submit_answer(提交答案), interactive(交互题)
type: default
# 输入输出文件名(例:使用 foo.in 和 foo.out),若使用标准 IO 删除此配置项即可
filename: null

score: 10 		# 单个测试点分数
time: 1000ms	# 单个测试点时间限制
memory: 256m	# 单个测试点内存限制
cases:		#将你的数据文件按照如下配置即可
  - input: 1.in
    output: 1.out
  - input: 2.in
    output: 2.out
  - input: 3.in
    output: 3.out
  - input: 4.in
    output: 4.out
  - input: 5.in
    output: 5.out
  - input: 6.in
    output: 6.out
  - input: 7.in
    output: 7.out
  - input: 8.in
    output: 8.out
  - input: 9.in
    output: 9.out
  - input: 10.in
    output: 10.out

完整的yaml格式

# 题目类型,可以为 default(比对输出,含spj), submit_answer(提交答案), interactive(交互题)
type: default

# 全局时空限制(此处的限制优先级低于测试点的限制)
time: 1s
memory: 128m

# 输入输出文件名(例:使用 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 内的语言代码相同)
langs:
  - c
  - cc
  - pas

【2.4】更多示例

更多示例

【三】出题规范

【3.1】基本规范

【3.1.1】LaTeX

不会LateX的同学移步:https://www.cnblogs.com/1024th/p/11623258.html

题目中的所有数字符号、常数、公式、作为变量的字母应使用 LaTeX 公式,若其两边无标点符号则应加上空格。其他普通的英文内容、特定的数字内容或代码形式的英文应使用行内代码串,且同样需要空格,如:dfs01 串int a

特别注意,LaTeX 中不允许出现任何中文或中文标点。

在题目的文字分析中不应出现任何程序语言,如 a[i]a==ba+=ba>=b

正确示例:

我们令变量 $a$ 等于 $1$。
我们使用 dfs 算法。我们有一行 01 串。
我们可以使用 `queue<int>q` 来定义一个 `int` 类型的队列。
可得 $a_{i,j}=a_{i,j-1}\times 2$。
我们发现 $a\le b$。

实际效果

我们令变量 aa 等于 11。 我们使用 dfs 算法。我们有一行 01 串。 我们可以使用 queue<int>q 来定义一个 int 类型的队列。 可得 ai,j=ai,j1×2a_{i,j}=a_{i,j-1}\times 2。 我们发现 aba\le b

【3.2】格式要求

【3.2.1】背景

该部分非必要,但强烈建议您在题目背景较长时将其独立至此部分。

优秀的题目背景应当与题目的具体做法毫无联系

【3.2.2】题目描述

题目描述要求清晰易懂,能够让他人完整且较为轻易地理解题目的具体要求。

题目描述中应具体解释可能会使人产生误解的语句。

尽可能不要故意将题目的一些坑点隐藏在题目中,而是要将可能会产生疏漏的点在题目中给出醒目提示。

【3.2.3】输入/输出格式

  • 请不要出多组输入的题目!请不要出多组输入的题目!请不要出多组输入的题目!
  • 描述多个并列的变量时,应合并为一个公式;输出特定字符串时应使用行内代码块。
  • 输入输出格式中应有输入的各种变量的具体数据类型。
  • 数据的范围可以单独写一个hint也可以直接写在输入描述的后面。
  • 如果输出中含有小数,请尽量使用 Special Judge。

【3.2.4】样例输入/输出

样例应当有一定的强度,能够查出一些简单的错误。读错题意的人应当能够通过样例发现自己读错了题意。

有多种操作的题,每种操作都应在样例中出现。有多种输出的题,每种可能的输出都应在样例中出现。

要求样例输入输出全部使用 inputoutput 格式。

举例

```input1
1 2
3
3 2
5

**效果为**:

```input1
1 2
3
3 2
5

【3.2.5】样例说明

题目描述越复杂、越不易理解就越应当有详细的样例说明,题目难度越简单就越应当有详细的样例说明。一般来说,一道题至少应该有一个样例说明,当然过于简单的题目不需要样例解释

【3.2.6】时空限制

原则上,时空限制应至少为 std 在最坏情况下的两倍。

【3.2.7】标签

题目的标签应当阐述通过本题需要的算法。

【四】其他规范

【4.1】题解

出题人应在开放题目后立即将自己的题解放在该题的题解区,先阐明思路,然后再贴代码,贴代码建议贴图片

可以使用这个网站:(https://carbon.now.sh/)(https://carbon.now.sh/)

【4.2】题目的产出条件

以后题目的产生都将由比赛中产出

【4.2.1】周赛

周赛赛制:IOI or OI 周赛的产出题目level如下:

  • T1:语法题
  • T2:思维题
  • T3:算法题板子
  • T4:混合算法题 or 稍微复杂的题目
  • 题目数据:每个题目十组数据

【4.2.2】月赛

月赛赛制:ACM 月赛的产出题目level如下:

  • 签到题:2个
  • 思维题:2个
  • 算法板子:2个
  • 混合算法or复杂题目or高级算法:2个
  • 题目数据:大于等于10组

【4.2.3】校赛

校赛赛制:ACM 校赛的产出题目level如下:

  • 签到题:3个
  • 思维题:3个
  • 算法板子:3个
  • 混合算法or复杂题目or高级算法:2~3个
  • 题目数据:大于等于10组

【4.3】劣质题目

如果有劣质题目请立即删除!欢迎大家举报!

2 comments

  • @ 2022-8-17 19:01:07

    前排兜售各种小零食

    • @ 2021-10-14 1:13:40

      /

      • 1