DOMjudge
ICPC と IOI の2つの採点モードをサポートする、オープンソースのプログラミングコンテストジャッジシステム。
スマートダウンロード
プロジェクトのホームページへ
インストーラはまだありません — ソースリポジトリをご覧ください
自動採点とリアルタイムランキング機能を備えたプログラミングコンテスト管理プラットフォーム。
主な機能
- ICPC 二値採点と IOI 部分点採点の2つのモードをサポート
- Web 管理インターフェースで、コンテストの進行状況と選手の提出をリアルタイムに監視
- コードを自動採点し、C/C++、Java、Python などの複数言語をサポート
- 柔軟な問題のインポート/エクスポート、Kattis 問題フォーマットと互換
- 多言語対応のチームインターフェースと印刷サービスをサポート
できないこと
- •ダブルクリックで直接実行することはできません。サーバー環境(Linux + Webサービス + データベース)が必要であり、初心者には一定のハードルがあります。
- •公式は git clone によるインストールを推奨していません。安定版の圧縮パッケージを使用してください。
- •問題のテストデータは事前に厳密に検証する必要があります。さもないと、コンテスト中にジャッジエラーが発生する可能性があります。
- •デフォルトでは Kattis バリデーターが使用されます。カスタマイズする場合は追加の設定が必要です。
使用例
- 大学のプログラミングコンテスト講座の教育と実習
- ACM/ICPC 地区大会または学内大会の運営
- 情報オリンピック(IOI スタイル)の模擬トレーニング
- 社内ハッカソンまたは技術採用選考
詳細説明
DOMjudge は、小規模な練習から国際大会までさまざまな場面に対応する、完全なプログラミングコンテストのジャッジシステムです。ICPC スタイル(二値採点)と IOI スタイル(部分点採点)の両方のジャッジモードに対応しています。Web ベースのジャッジ管理インターフェースを備えており、コードの自動採点やランキングのリアルタイム更新が可能です。世界中の多くの大学や組織が、ハッカソンや情報科学コンテストの開催に利用しています。インストールには Linux サーバー、PHP、MySQL/MariaDB の環境が必要で、公式ドキュメントに詳細な手順が記載されています。このプロジェクトは2004年以来継続的にメンテナンスされており、安定版がリリースされ、コミュニティも活発です。
トラブルシューティング & FAQ (2)
トラブル対応DOMjudge で、.ans テストファイル内の UTF-16 エンコーディング、BOM、または CRLF 行末が原因で発生する Wrong Answer をどう修正すればよいですか?
DOMjudge は厳密なバイト比較を使用するため、期待出力ファイルを UTF-8(BOM なし、LF 改行)に正規化してから、再アップロードまたは再インポートしてください。
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 ファイルは null バイトを含むことがあり、バイナリとして扱われる可能性があるため、UTF-8 に変換することが本質的な修正です。
トラブル対応コンテスト開始を遅らせた後、DOMjudgeが'No negative values allowed in score key element'エラーを表示するのはなぜですか?
DOMjudge 9.0 の既知のバグ。コンテスト開始が遅延された場合、jury submissions で 'No negative values allowed in score key element' というエラーが発生し500エラーとなる。回避策: コンテスト開始を再開する(遅延解除)ことで提出を可能にする。恒久的な修正については issue #3417 を追跡してください。
タグ
はじめ方
ソフトウェアをインストール
ダウンロードしたインストーラをダブルクリックし、指示に従ってください
ステップ1:Linux サーバーに LAMP 環境(Apache + PHP + MySQL)をインストールする
ステップ2:domjudge.org から最新の安定版アーカイブをダウンロードして解凍する
ステップ3:インストールスクリプト `sudo ./install.sh` を実行し、画面の指示に従ってデータベースと管理者アカウントを設定する
- ステップ1:Linux サーバーに LAMP 環境(Apache + PHP + MySQL)をインストールする
- ステップ2:domjudge.org から最新の安定版アーカイブをダウンロードして解凍する
- ステップ3:インストールスクリプト `sudo ./install.sh` を実行し、画面の指示に従ってデータベースと管理者アカウントを設定する
チェックサムがありません
このプロジェクトは GitHub Release ページに SHA-256 チェックサムを公開していません
SHA256 チェックサム
チェックサムなし
GitHub Releases から直接ダウンロードし、ファイルの整合性をご自身で確認してください
本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。
オープンソースの透明性
GitHub ソースを見るアンインストール情報
Web サービスを停止し、DOMjudge のインストールディレクトリを削除してから、対応する MySQL データベースとユーザーを削除します。
追加の依存関係なし
ダウンロード後すぐに使用可能。追加のランタイムは不要です。
問題が発生?以下のFAQを確認
2 FAQs