D

DOMjudge

886 stars·开发工具·已提供 SHA-256 校验码,下载后可自行核对文件完整性

开源的编程竞赛裁判系统,支持 ICPC 和 IOI 两种评分模式。

智能下载

前往项目主页

该项目暂未提供安装包,请直接访问源代码仓库

一个能自动判题、实时排名的编程竞赛管理平台。

核心功能

  • 支持 ICPC 二分评分和 IOI 部分评分两种模式
  • Web 管理界面,实时监控比赛进度和选手提交
  • 自动评测代码,支持 C/C++、Java、Python 等多种语言
  • 灵活的题目导入/导出,兼容 Kattis 问题格式
  • 支持多语言团队界面和打印服务

避坑指南

  • •不能直接双击运行,需要服务器环境(Linux + Web 服务 + 数据库),对新手有一定门槛。
  • •官方不推荐通过 git clone 安装,请使用稳定版压缩包。
  • •题目测试数据必须提前严格验证,否则比赛时可能出现评测错误。
  • •默认使用 Kattis 验证器,若要自定义需额外配置。

适用场景

  • 大学编程竞赛课程教学与实训
  • ACM/ICPC 区域赛或校赛组织
  • 信息学奥赛(IOI 风格)模拟训练
  • 企业内部 hackathon 或技术招聘选拔

详细介绍

DOMjudge 是一套完整的编程竞赛裁判系统,支持从小型训练到国际大赛的各种场景。它同时兼容 ICPC 风格(二分评分)和 IOI 风格(部分评分)两种判题模式。系统提供基于网页的裁判管理界面,能够自动评测代码、实时更新排名。全球许多大学和组织用它来举办黑客马拉松或信息学竞赛。安装需要 Linux 服务器、PHP 和 MySQL/MariaDB 环境,官方文档提供了详细步骤。该项目自2004年以来持续维护,发布稳定版本,社区活跃。

常见问题与排障 (2)

故障排除
如何修复由 .ans 测试文件中的 UTF-16 编码、BOM 或 CRLF 行尾导致的 DOMjudge Wrong Answer 结果?

DOMjudge 使用严格的字节比较,因此请将期望输出文件规范化为无 BOM 且使用 LF 行尾的 UTF-8,然后重新上传或重新导入它们。

1. 检查文件:
file *.ans
hexdump -C case.ans | head

2. 将 UTF-16 转换为 UTF-8。当存在 BOM 时使用 UTF-16,或显式使用 UTF-16LE/UTF-16BE:
iconv -f UTF-16 -t UTF-8 case.ans -o case.utf8.ans
mv case.utf8.ans case.ans

3. 将 CRLF 转换为 LF:
dos2unix *.ans
如果 dos2unix 不可用:
sed -i 's/\r$//' *.ans

4. 如果仍存在 UTF-8 BOM,则将其移除:
sed -i '1s/^\xEF\xBB\xBF//' case.ans

ZIP 导入器可能会警告 Windows 行尾,但该警告不能替代手动规范化。UTF-16 文件可能包含空字节并被当作二进制文件处理,因此将其转换为 UTF-8 是关键修复。

来源 Issue #3360
故障排除
为什么DOMjudge在延迟比赛开始后显示'No negative values allowed in score key element'错误?

已知DOMjudge 9.0中的一个bug。当竞赛开始被延迟时,jury提交会触发500错误,提示'No negative values allowed in score key element'。解决方法:恢复竞赛开始(取消延迟)以允许提交。请持续关注问题#3417以获取永久修复。

来源 Issue #3417

标签

programming-contestjudge-systemicpcioiopen-sourcecompetitive-programming

快速上手

1

下载安装包

点击上方按钮下载对应系统的安装包

2

安装软件

双击下载的安装程序,按提示完成安装

3

步骤1:在 Linux 服务器上安装 LAMP 环境(Apache + PHP + MySQL)

4

步骤2:从 domjudge.org 下载最新稳定版压缩包并解压

5

步骤3:运行安装脚本 `sudo ./install.sh`,按提示配置数据库和管理员账号

安装指引
  1. 步骤1:在 Linux 服务器上安装 LAMP 环境(Apache + PHP + MySQL)
  2. 步骤2:从 domjudge.org 下载最新稳定版压缩包并解压
  3. 步骤3:运行安装脚本 `sudo ./install.sh`,按提示配置数据库和管理员账号
文件完整性

暂未获取到校验码

该项目暂未在 GitHub Release 页面提供 SHA-256 校验码

SHA256 校验码

暂无校验码

建议从 GitHub Releases 页面直接下载,并自行核对文件完整性

本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。

运维指引

卸载说明

停止 Web 服务,删除 DOMjudge 安装目录,然后删除对应的 MySQL 数据库和用户。

无额外依赖

下载后即可直接使用,无需安装其他运行环境

项目信息
开源协议GPL v2+
最后更新2026-10-11 08:00:51
GitHub 仓库官方网站

遇到问题?查看下方 FAQ

2 FAQs

相似推荐