竞赛讨论区 > 牛客比赛导出 ICPC Tools 滚榜文件使用指南
头像
王清楚
发布于 昨天 16:47 北京
+ 关注

牛客比赛导出 ICPC Tools 滚榜文件使用指南

牛客 ACM/ICPC 比赛现在支持导出 ICPC Tools Resolver 可用的滚榜数据文件。导出的文件是 .ndjson 格式,兼容 ICPC Contest API / DOMjudge event feed 口径,可配合官方 ICPC Tools Resolver 做赛后滚榜展示。

官方工具地址:ICPC Tools Resolver
官方文档:Resolver PDF

一、使用前准备

请先确认:

  1. 比赛排名类型是 ICPC。
  2. 比赛已经结束。
  3. 所有提交都已经判题完成。
  4. 比赛已设置封榜时间,否则滚榜没有“揭榜”过程,只会接近直接展示终榜。
  5. 本机已安装 Java 17 或更高版本。

ICPC Tools 2.6 以后最低要求 Java 17。可以在命令行执行:

java -version

如果版本低于 17,或提示找不到 java,请先安装 Java 环境。

二、下载 ICPC Tools Resolver

打开官方页面,下载压缩包,并解压。

注意:运行此工具需要java环境,请安装 Java 17 或更高版本,ICPC Tools 2.6 以后低版本 Java 无法启动。

官方工具地址:ICPC Tools Resolver
官方文档:Resolver PDF

alt

三、从牛客导出滚榜文件

比赛管理员访问:

https://ac.nowcoder.com/admin/acm/resolver-event-feed?id=比赛ID

例如:

https://ac.nowcoder.com/admin/acm/resolver-event-feed?id=12345

浏览器会下载一个文件,文件名类似:

牛客小白月赛132_resolver_2026-05-09_17_26_40.ndjson

导出规则说明:

  • 只支持 ICPC 排名类型比赛。
  • CE 提交不会计入滚榜事件。
  • 未报名但有提交的用户不会导出,和榜单口径保持一致。
  • 如果还有排队、编译中、运行中、判题中、等待系统测试等未完成提交,系统会阻止导出,避免生成不可信滚榜文件。

四、测试滚榜环境

如果不需要配置logo等,可以直接把滚榜文件放在滚榜工具同目录下,

使用命令

java -Xmx1024m -cp ".\lib\*" org.icpc.tools.resolver.Resolver "ndjson文件.ndjson" --speed 0.7 

注意,把这里的文件名改成你的比赛的文件名,比如我的文件名是:2026年中南民族大学程序设计竞赛初赛(同步赛)_resolver_2026-05-12_15_25_30.ndjson 则我的命令是

java -Xmx1024m -cp ".\lib\*" org.icpc.tools.resolver.Resolver "2026年中南民族大学程序设计竞赛初赛(同步赛)_resolver_2026-05-12_15_25_30.ndjson" --speed 0.7 

alt 等待几秒后弹出全屏滚榜页面:

常用控制键:

  • 空格 / f:前进一步
  • r / b:后退一步
  • 0:回到开始
  • 2:快速前进一步
  • + / -:调整速度
  • Ctrl + Q:退出 alt

alt

目前中文字体展示有问题,我们来配一下滚榜工具字体的环境变量

我这里配置的是等线字体,新增环境变量:

变量名:ICPC_FONT

变量值:DengXian

alt

重启测试,可正常展示字体

alt

如果需要配置logo,则需要创建一个文件夹,我这里命名为cdp_local。

然后需要把刚刚的滚榜文件重命名为event-feed.ndjson。 alt

校徽需要创建一个名为organizations的文件夹,然后在里面放对应的logo.png

文件夹名要和 ndjson 里的 organization_id / organizations.data.id 对上,现在导出的学校id就是学校名,则文件夹名也可以用学校名。

cdp_local/
  event-feed.ndjson
  organizations/
    哈尔滨理工大学/
      logo.png
    江西师范大学/
      logo.png

alt alt

启动命令改为文件夹启动

java -Xmx1024m -cp ".\lib\*" org.icpc.tools.resolver.Resolver cdp_local --speed 0.7

alt

如果要加队伍照片,则类似(目前导出的队伍id用的是牛客id/团队id:

cdp_local/
  teams/
    911530930/
      photo.png

这里只是举个例子,更多配置可以参考ICPC滚榜工具的官方文档。

五、配置奖项

进入 Resolver 解压目录,双击:

awards.bat

选择我们的ndjson文件,根据需要进行配置,完成后保存替换掉原有的ndjson文件

alt alt

六、推荐流程

正式滚榜前建议至少做两次演练:

  1. 比赛开始前,找一场测试比赛或历史比赛,完整走一遍“导出 ndjson、配置奖项、启动滚榜”的流程,提前确认 Java 环境、字体、logo、投屏和 ICPC Tools 都能正常工作。
  2. 比赛结束后,等待所有提交判题完成,再导出正式 .ndjson 文件。
  3. awards.bat 配置奖项。
  4. 本地完整跑一遍滚榜工具,检查滚榜能否正常启动和推进。
  5. 核对榜单排名、题目数量、队伍数量、首杀、奖项和 logo 展示是否符合预期。
  6. 确认无误后,再连接大屏或投影进行正式展示。

全部评论

(0) 回帖
加载中...
话题 回帖

等你来战

查看全部

热门推荐