Next Previous Contents

7. DOMjudge problem format

This specification is dedicated to the public domain. Its authors waive all rights to the work worldwide under copyright law, including all related and neighboring rights, as specified in the Creative Commons Public Domain Dedication (CC0 1.0).

DOMjudge supports the import and export of problems in a zip-bundle format. This zip file contains the following files in its base directory:

domjudge-problem.ini

This file has a simple INI-syntax and contains problem metadata, see below.

problem.{pdf,html,txt}

The full problem statement as distributed to participants. The file extension determines any of three supported formats. If multiple files matching this pattern are available, any one of those will be used.

<testdata-file>.in / <testdata-file>.out

Each pair of <testdata-file>.{in,out} contains the input and correct/reference output for a single test case. Single files without their corresponding in or out counterpart are ignored. The order of the files in the zip archive determines the initial ordering of the testcases after import.

<solution>.<ext>

Submits code of reference solution as team 'domjudge' if <ext> is a known language extension. The contest, the problem, and the language have to be enabled. The contest must be started. If you include a comment starting with '@EXPECTED_RESULTS@: ' followed by the possible outcomes, you can use the judging verifier in the admin interface to verify the results.

When importing a zip file into DOMjudge, any other files are ignored.

The file domjudge-problem.ini contains key-value pairs, one pair per line, of the form key = value. The = can optionally be surrounded by whitespace and the value may be quoted, which allows it to contain newlines. The following keys are supported (these correspond directly to the problem settings in the jury web interface):

The probid key is required when importing a new problem from the jury/problems.php overview page, while it is ignored when uploading into an existing problem. All other keys are optional. If they are present, the respective value will be overwritten; if not present, then the value will not be changed or a default chosen when creating a new problem. Test data files are added to set of test cases already present. Thus, one can easily add test cases to a configured problem by uploading a zip file that contains only *.{in,out} files.


Next Previous Contents