1.9 KiB
1.9 KiB
CCF / NOI → HydroOJ 数据归档
来源:https://noi.ccf.org.cn/zxzy/lnzl/(页码 1–3)。
已收集内容
- 28 条官方“题目及数据”资料页面(2009–2026,按官网当前列表)
- 94 个官方资源文件:64 个 ZIP、13 个 RAR、17 个 PDF 题面
- 每个资源的来源 URL、原始文件路径、字节数与 SHA-256 均在
dist/manifest.json中记录 - 资源下载需要官方资料页作为 Referer;脚本已处理此要求。
Hydro Problem Format ZIP
可提交/导入的归档位于:
dist/hydro-zips/<exam-id>/<problem-id>.zip
每个 ZIP 符合 Hydro Problem Format:根目录含 problem.yaml、problem_zh.md 与 testdata/config.yaml,并将官方 .ans 输出转换为 Hydro 使用的 .out。当前已生成 71 个题目 ZIP。
Hydro 后台可直接用“导入题目”导入每个 ZIP。
原始中间文件(不提交)
源资源和解压目录仅用于生成:
dist/raw/
dist/hydrooj/
它们被 .gitignore 排除。
继续转换
完整转换(会解压全部 ZIP 与 RAR,临时与输出空间需求较高):
python tools/build_hydrooj.py --output dist
生成 Hydro 格式 ZIP(并将对应的官方 PDF 放入 additional_file/,在 problem_zh.md 中以 file://文件名 引用):
python tools/create_hydro_zips.py --input dist/hydrooj --output dist/hydro-zips
仅重新下载/补齐官方资源及清单(不解压):
python tools/build_hydrooj.py --output dist --download-only
两种命令都可重复运行;已存在的 dist/raw/ 文件不会重复下载。
验证
python -m unittest tests/test_build_hydrooj.py -v
官方资料页带有署名/非商业授权说明。导入或公开题面、数据前,应确认你的 HydroOJ 使用方式符合 CCF/NOI 的授权条件。