Agent Skills
返回列表
OJ 测试数据生成器

OJ 测试数据生成器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b89a4d0a/oj-data-generator。

技能介绍

解决的问题

给算法题造 OJ 测试数据时,手写 random 输入容易漏边界、格式不一致,也难以覆盖图论、DP、字符串等题型的典型构造。这个技能把题面转成可执行的测试点方案,并用标准程序校验输出,减少手工造数和漏测成本。

工作方式

  • 自动分析:从题面提取题型、输入输出格式、数据范围、边界约束;缺失范围会按题型推断并标注。
  • 一次性确认:展示完整方案,包括测试点分布、标程思路和交付方式,确认后不再逐步打断。
  • cyaron 生成:使用 cyaron v0.7.0+ 生成 1.in 到 10.in,配合 std.py 或 std.cpp 生成对应 .out。
  • 测试点设计:按 #1 最小合法值、#2-3 边界构造、#4-6 中等随机、#7-8 接近上限、#9-10 极端规模安排。
  • 自动校验:检查文件数量、非空、UTF-8 编码、标程异常或超时;通过 --seed 可复现。

注意点

默认只交付文件夹,不主动打 ZIP;如需打包,要先确认 flat 或 folder 布局。依赖 cyaron 新版 API,不能回退到普通 random。C++ 标程编译失败时可回退 Python 标程,但标程必须先 AC。

使用场景

  • 写排序题标程后,需要覆盖 n=1、m=n、全相等、10^5 规模并产出 1.in~10.in 与 .out。
  • Dijkstra 最短路题需要 chain、flower、complete、不连通图等构造,并自动检查标程超时。
  • DP 题缺数据范围,需要按题型推断默认值,展示一次性确认方案后生成可复现种子测试数据。
  • 字符串题需要空串、回文、最大长度等边界,生成 UTF-8 非空 .in/.out 文件夹交付。

适合人员

  • 做算法课程或比赛训练的导师,需要快速给每题生成可验收的 10 组边界测试数据。
  • 维护 OJ 题目的管理员,需要把题面、数据范围和图/数组结构转成标准输入输出集。
  • 写标程的工程师,需要用 cyaron 造数并依赖标程 AC 与自动校验避免交付坏数据。
  • 准备面试算法题的学生,需要覆盖排序、最短路、DP、字符串边界来测自己的解法。