ojimport
从 OJ 平台搬运题目(含AtCoder/Codeforces等),生成标准化题目文件包;也可根据用户提供的题目仅生成测试数据。用户说"搬运""搬题""搬道题""导入题目"均适用 Skill: ojimport Owner: fslong520 Summary: 从 OJ 平台搬运题目(含AtCoder/Codeforces等),生成标准化题目文件包;也可根据用户提供的题目仅生成测试数据。用户说"搬运""搬题""搬道题""导入题目"均适用 Tags: algorithm:3.0.0, atcoder:3.0.0, codeforces:3.0.0, contest:3.0.0, gesp:3.0.0, import:3.0.0, latest:3.0.0, oj:3.0.0, problem:3.0.0 Version history: v3.0.0 | 2026-09-02T04:07:44.905Z | user 定级表加四级体系锚定(GESP/CSP-J/CSP-S/NOI),超纲知识点循跨体系兜底规则升到CSP/NOI禁定格GESP级;CF定分改四维判据档位判定表,水题克制 v2.7.0 | 20
Rank
62
Safety
84
Downloads
3.2k
Updated
Oct 9, 2026
Version
3.0.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 3.2K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 3.2K downloadsadoption · observed Oct 9, 2026
- Latest release
- 3.0.0release · observed Sep 2, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s179dxbepyx3dhgg6vsaj80yt583nxj7:ojimport- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-fslong520-ojimport/snapshot"
Documentation
CLAWHUB
154,106 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: ojimport
version: 3.0.0
description: 从 OJ 平台搬运题目(含AtCoder/Codeforces等),生成标准化题目文件包;也可根据用户提供的题目仅生成测试数据。用户说"搬运""搬题""搬道题""导入题目"均适用
allowed-tools:
- Read
- Write
- Edit
- AskUserQuestion
- BrowserUse
metadata:
slug: ojimport
trigger: OJ题目、搬题、算法题搬运、搬运题目、搬道题、搬一下、AtCoder、Codeforces、GESP、题目导入、测试点、生成数据、测试数据
---
## Keywords
OJ题目、搬题、搬运、搬运题目、算法题搬运、搬道题、搬一下、AtCoder、Codeforces、GESP、测试点、测试数据
## Summary
自OJ搬题,生标准化题包(题面+标程+数据);或依用户所供,仅生测试数据(.in/.out)。
## Strategy
### 基路径
自动检测用户桌面路径(支持 Linux/macOS/Windows),工作目录创建于桌面。
步骤中 `{WORK_DIR}` 即 `{BASE_DIR}/work_{PID}_{标题简写}`,其中 `{BASE_DIR}` 为 `detect_desktop()` 检测结果。
检测逻辑见 `steps/01-init.md`。
### 参考文档
生成测试数据前,先读 **`references/testdata-design.md`**,按题目类型选取边界清单与 Hack 策略。
所有步骤文件(`07-testdata.md`)中的测试数据细节均引用该文档。
### 单题搬运
1. 读 steps/00-detect-url.md → 辨类型
2. 初始化:`BASE_DIR=$(detect_desktop); cp -r question $BASE_DIR/work_{PID}_{标题简写}`(详 01-init.md)
3. 取题面:按来源
- URL:urlgo 访问 → snapshot → 解析(urlgo不可用时用 BrowserUse/WebFetch)
- 文件:读 steps/09-from-file.md → 自本地文件取题面
- 文本:读 steps/10-from-text.md → 自用户文本取题面
4. 读 steps/03-gesp.md → 定等级(第二步)+ 定分数(第四步)
5. 读 steps/04-problem.md → 生题面
6. 读 steps/05-config.md → 写配置
7. 实现标程 std.cpp
8. 读 steps/07-testdata.md → 生数据(⚠️ 只改 mkin.h,勿动 mkdata.cpp)
9. 读 steps/08-audit.md → 审计(文件完整性、模板一致、GESP等级、分值的复核)
10. 打包:`zip -r $BASE_DIR/{PID}_{标题简写}.zip $BASE_DIR/work_{PID}_{标题简写}`(审计未过不打包)
### ⚠️ 比赛搬运(必先创题面汇总文件)
1. 读 steps/contest/01-list.md → 创题面汇总文件 `{contest_id}.md`
2. 读 steps/contest/02-problem.md → **逐题译之,追加写入汇总文件**
3. 读 steps/contest/03-move.md → **自文件读题面**,逐题生完整题包(含审计)
4. **打包合集**:所有题目 zip 打包到同一 `{contest_id}.zip` 内,不散包
### 生成测试点
用户已有完整题面,仅需测试数据(.in/.out + config.yaml)。
**触发词**:用户言"生成测试点"、"出测试数据"、"想测试数据"、"写测试数据"等。
**流程:**
1. 读 steps/00-detect-url.md → 辨输入类型
2. 初始化:`BASE_DIR=$(detect_desktop); cp -r question $BASE_DIR/work_{PID}_{标题简写}`(详 01-init.md)
3. 取题面信息:
- URL:urlgo/BrowserUse/WebFetch 访问并解析
- 文件:读 steps/09-from-file.md 取题面(仅内部参考,不生正式 problem_zh.md)
- 文本:读 steps/10-from-text.md 自文本取题面
4. 读 steps/07-testdata.md → **以「仅测点」模式走流程:实现标程 + 生测试数据 + 打包 testdata.zip + 交付**
5. **跳过**:题面格式化(04-problem.md)、GESP 定级(03-gesp.md)、配置写入(05-config.md)、审计(08-audit.md)、全局打包(09-package.md)
## AVOID
- AVOID 不读步骤文档即执行
- ⚠️ **AVOID 跳过审计(08-audit.md):题包生成后必审计,未过不打包**
- ⚠️ **AVOID 不按模板格式**
- AVOID 测试数据只写样例
- AVOID GESP等级乱判
- ⚠️ **AVOID 按速查表/公式机械估 CF 分(含星级映射、AtCoder 换算表、GESP 等级映射):每次必走 03-gesp.md 第四步「CF 档位判定」,逐项判四维(思维拐点/算法门槛/数据规模/实现细节)锁定档位,水题克制(零思维量 ≤900),拿不准取低档(宁低勿高)**
- ⚠️ **AVOID 等级乱判:凡涉及线段树/树状数组/平衡树/最短路/MST/并查集/堆/AC自动机/网络流/计算几何等进阶结构,必查 03-gesp.md 2.4 跨体系锚定表,禁低估(线段树 ≠ 5级);GESP 大纲无此知识点必循 2.5 兜底规则升到 CSP-J/CSP-S/NOI,禁定格在 GESP 级**
- AVOID 忘清理工作目录(`work_*`)
- AVOID PID 格式错误(用小写 abc451a)
- ⚠️ **AVOID tag 只写等级:必含 1~3 个知识点标签 + 1 个等级标签(`GESP X级`/`CSP-J`/`CSP-S`/`NOI`),禁单标签敷衍**
- ⚠️ **AVOID 自对话上下文记忆题面,必自文件读取**
- ⚠️ **AVOID 忘填出处 source:URL 搬运必填原题 URL(problem.yaml 的 source 字段 + 题面出处行)**
- ⚠️ **AVOID 生成数据时修改 mkdata.cpp,只许修改 mkin.h**
- ⚠️ **AVOID 测试数据缺少特殊性质和 hack 数据**
- ⚠️ **AVOI_meta.json
{
"ownerId": "kn71rk0chjcdy7ffgfc08hh9gd83ehq8",
"slug": "ojimport",
"version": "3.0.0",
"publishedAt": 1788322064905
}references/testdata-design.md
# 测试数据设计参考
> 本文件为搬题姬之测试数据设计统一参考。`07-testdata.md` 与 `11-testdata-only.md` 均引用本文。
> 设计测试数据时,先辨题目类型,再据本清单拣选对应边界。
---
## 一、数据分布框架
每题生 **25 组**测试数据,分 5 个子任务:
| Subtask | 用例编号 | 类型 | 分值 | 说明 |
|---------|---------|------|------|------|
| 0 | 1-2 | 样例数据 | 10 | 径自题面复制,逐字一致 |
| 1 | 3-8 | 小规模 + 特殊性质 | 20 | 验基本功,覆边界 |
| 2 | 9-11 | Hack 数据 | 15 | 针对常见错误写法 |
| 3 | 12-20 | 中大规模 | 30 | 验效率与压力 |
| 4 | 21-25 | 随机回归 | 25 | 混合随机覆盖 |
**改分布时必同更三处:**
1. `mkin.h` 顶 `SUBTASKS[]` 数组
2. `{WORK_DIR}/testdata/config.yaml` 中 `subtasks[].cases` 列表
3. 总分持 100
---
## 二、题型感知边界清单
按题目类型分发边界测试。先判题属哪类,再取对应清单。
### 🔹 通用边界(所有题目必覆)
| # | 性质 | 说明 | 针对错误 |
|---|------|------|---------|
| G1 | 最小合法输入 | n=1, n=0(若允许) | 边界漏判 |
| G2 | 最大合法输入 | n 达数据范围上限 | 数组越界、超时 |
| G3 | 全相同值 | 所有元素相等 | 重复值处理遗漏 |
| G4 | 递增序列 | 已排序(升序) | 排序实现错误 |
| G5 | 递减序列 | 逆序排列 | 排序实现错误 |
| G6 | 极值填充 | 全 0、全 1、全 INT_MAX | 特殊分支未覆盖 |
### 🔹 数组/序列题
| # | 性质 | 说明 | 针对错误 |
|---|------|------|---------|
| A1 | 严格单调 | 严格递增/递减 | 比较符误用(<= 而非 <) |
| A2 | 先增后减 | 山峰形(1,2,3,2,1) | 峰值查找错误 |
| A3 | 先减后增 | 山谷形(3,2,1,2,3) | 谷值查找错误 |
| A4 | 交替变化 | 1,-1,1,-1,… | 趋势判断错误 |
| A5 | 单元素数组 | n=1 | 循环/索引边界 |
| A6 | 大范围跨度 | 值域极大(-10⁹ ~ 10⁹) | int 溢出 |
| A7 | 浮点误差 | 需精度的浮点比较 | 用 `==` 判浮点等 |
| A8 | 负数混合 | 含负数、零、正数 | 符号处理错误 |
### 🔹 图论题
| # | 性质 | 说明 | 针对错误 |
|---|------|------|---------|
| G1 | 链状图 | 退化成一条链 | 图遍历栈溢出 |
| G2 | 菊花图 | 一个节点连所有其他节点 | 邻接表/矩阵边界 |
| G3 | 完全图 | 每对节点都有边 | 内存/时间超限 |
| G4 | 不连通图 | 多个连通分量 | 遍历不完整 |
| G5 | 空图 | 无边,仅 n 个孤立点 | 特判遗漏 |
| G6 | 自环 | 节点到自身的边 | 最短路/遍历死循环 |
| G7 | 重边 | 两点间多条边 | 最短路更新错误 |
| G8 | 零权图 | 所有边权为 0 | 算法复杂度退化 |
| G9 | 负权边 | 含负边权 | 误用 Dijkstra(应 SPFA) |
| G10 | 大权重 | 边权近 INT_MAX | 加法溢出 |
| G11 | 稠密 vs 稀疏 | n 大 m 小 / n 小 m 大 | 邻接矩阵/表选型错误 |
| G12 | 二分图 | 可二分着色 | 着色算法错误 |
### 🔹 树题
| # | 性质 | 说明 | 针对错误 |
|---|------|------|---------|
| T1 | 链退化 | n 个节点一条链 | DFS 递归栈溢出 |
| T2 | 星形 | 根连所有叶子 | 父节点判断错误 |
| T3 | 完全二叉树 | 完美平衡 | 堆式存储索引 |
| T4 | 单节点树 | n=1 | 特判 |
| T5 | 大深度 | 深度 ≈ n | 递归爆栈 |
| T6 | 权值全同 | 所有节点权值相等 | 树 DP 初值错误 |
| T7 | 二叉树 | 每个节点最多两子 | 左右子混淆 |
### 🔹 字符串题
| # | 性质 | 说明 | 针对错误 |
|---|------|------|---------|
| S1 | 单字符 | 长度为 1 | 子串边界 |
| S2 | 全相同字符 | "aaaaa" | 失配跳转 |
| S3 | 回文 | 正反相同 | 回文判断 |
| S4 | 含特殊字符 | 空格、数字、大写 | 字符集假设 |
| S5 | 最大长度 | n 达上限 | O(n²) 超时 |
| S6 | 递增/递减 | 字符依次增减 | 字典序比较 |
| S7 | 模式串重复 | 如 "abcabcabc" | KMP 失配 |
### 🔹 DP 题
| # | 性质 | 说明 | 针对错误 |
|---|------|------|---------|
| D1 | 最小规模 | n=0, n=1 | DP 表初始化 |
| D2 | 全零/全正 | 所有值为 0 或正数 | 初值 0 vs -INF |
| D3 | 极值答案 | 答案 0 或答案 MAX | 输出格式 |
| D4 | 递推依赖 | 需前置状态 | 循环顺序写反 |
| D5 | 大答案溢出 | 答案超 int | 用 long long |
### 🔹 数学/数论题
| # | 性质 | 说明 | 针对错误 |
|---|------|------|---------|
| M1 | 质数集 | 全质数 | 质数判误 |
| M2 | 互质集 | 大数互质 | GCD 溢 |
| M3 | 模数边界 | 模 1, 模质数, 模 MAX | 负数取模 |
| M4 | 大数运算 | 超 64 位 | 用 `__int128` 或模 |
| M5 | 浮点比较 | 精度 1e-9 | 直 `==` 较浮点 |
| M6 | 排组合极端 | C(n,k) 极值 | 组合数算错 |
### 🔹 交互题
| # | 性质 | 说明 |
|---|------|------|
| I1 | 最小查询次数 | 刚好够查出答案 |
| I2 | 最大查询次数 | 用到上限 |
| I3 | 错误猜测 | 每次猜错 |
### 🔹 构造题
| # | 性质 | 说明 |
|--question/problem_zh.md
<div class="water"> # 帮贡排序 #### 题目描述 “星月家园”帮派有 $n$ 名成员,现在需要根据成员的帮贡(帮派贡献值)进行排序并重新分配职位。 排序规则如下: 1. 首先按帮贡从高到低排序。 2. 如果帮贡相同,则按等级从高到低排序。 3. 如果等级也相同,则按加入帮派的先后顺序(输入顺序)排序。 排序完成后,根据排名分配职位: - 第 1 名:帮主 - 第 2 名:副帮主 - 第 3~4 名:护法 - 第 5~7 名:长老 - 第 8~12 名:堂主 - 第 13~42 名:精英 - 第 43 名及以后:帮众 请输出排序后每位成员的姓名、职位和等级。 #### 输入格式 第一行包含一个整数 $n$ ($1 \le n \le 100$),表示帮派人数。 接下来 $n$ 行,每行包含一个成员的姓名(字符串)、等级(整数)和帮贡(整数)。 #### 输出格式 输出 $n$ 行,每行包含成员的姓名、职位和等级,用空格隔开。 #### 样例输入 #1 ``` 5 A 100 1000 B 90 1000 C 100 1000 D 80 500 E 100 800 ``` #### 样例输出 #1 ``` A 帮主 100 C 副帮主 100 B 护法 90 E 护法 100 D 长老 80 ``` #### 数据范围 $1 \le n \le 100$ 等级为 $0$ 到 $100$ 之间的整数。 帮贡为 $0$ 到 $10000$ 之间的整数。 #### 知识点与难度 本题涉及的知识点从属于 **GESP四级**(结构体、多关键字排序、逻辑处理),难度(CF Rating):**1000**。 --- ### 测试点分布 | Subtask | 分值 | 测试点编号 | 说明 | |:-------:|:----:|:----------:|:-----| | 0 | 10 | 1~2 | 样例 | | 1 | 20 | 3~8 | 小规模 / 特殊性质 | | 2 | 15 | 9~11 | Hack | | 3 | 30 | 12~20 | 中大规模 | | 4 | 25 | 21~25 | 随机回归 | > 生测试数据后,按实际 subtask 分组改写上表。 </div>
skill-card.md
## Description: Imports programming contest problems from OJ platforms such as AtCoder and Codeforces into standardized problem packages, or generates test data from user-provided problem statements. This skill is ready for commercial/non-commercial use. ## Publisher: [fslong520](https://clawhub.ai/user/fslong520) ### License/Terms of Use: MIT-0 ## Use Case: Developers and competitive programming problem maintainers use this skill to convert imported or supplied OJ problem statements into standardized problem packages. It can produce problem Markdown, YAML configuration, C++ reference solutions, generated test data, audit guidance, and packaged ZIP deliverables. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: The workflow can delete, rename, zip, compile, or run files in Desktop work directories. Mitigation: Use a controlled workspace and require path validation plus confirmation before any rm, mv, zip, compile, or run step. Risk: Imported problem text, titles, IDs, and URLs are untrusted inputs that can influence generated files and commands. Mitigation: Validate and sanitize problem identifiers, titles, source URLs, filenames, and resolved paths before writing files or executing commands. Risk: Generated C++ reference solutions and test-data generators are executable code. Mitigation: Review generated source files before compiling or running them, preferably in a sandbox or disposable problem workspace. ## Reference(s): - [Test Data Design Reference](artifact/references/testdata-design.md) - [ClawHub Skill Page](https://clawhub.ai/fslong520/skills/ojimport) ## Skill Output: **Output Type(s):** [Markdown, Code, Shell commands, Configuration, Files, Guidance] **Output Format:** [Markdown instructions with C++ source files, YAML configuration, generated test data files, and ZIP packages] **Output Parameters:** [1D] **Other Properties Related to Output:** [Produces file-oriented deliverables and may compile, run, clean, and package generated artifacts during the workflow.] ## Skill Version(s): 3.0.0 (source: SKILL.md frontmatter and server release metadata) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/fslong520/skills/ojimport",
"sourceUrl": "https://clawhub.ai/fslong520/skills/ojimport",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T09:20:36.230Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-fslong520-ojimport/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-fslong520-ojimport/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T09:20:36.230Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "3.2K downloads",
"href": "https://clawhub.ai/fslong520/ojimport",
"sourceUrl": "https://clawhub.ai/fslong520/ojimport",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T09:20:36.230Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "3.0.0",
"href": "https://clawhub.ai/fslong520/ojimport",
"sourceUrl": "https://clawhub.ai/fslong520/ojimport",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-02T04:07:44.905Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-fslong520-ojimport/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-fslong520-ojimport/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 3.0.0",
"description": "定级表加四级体系锚定(GESP/CSP-J/CSP-S/NOI),超纲知识点循跨体系兜底规则升到CSP/NOI禁定格GESP级;CF定分改四维判据档位判定表,水题克制",
"href": "https://clawhub.ai/fslong520/ojimport",
"sourceUrl": "https://clawhub.ai/fslong520/ojimport",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-09-02T04:07:44.905Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
