Problem.yaml

From PC2wiki
Revision as of 09:52, 14 April 2014 by Doug Lane (talk | contribs) (Data File Locations: added more detail)
Jump to: navigation, search

The problem.yaml is one part of the set of files that compose a problem description and data files.

Each problem.yaml defines a single problem.

Each problem is defined in its own directory (folder), in that folder is the problem.yaml file and the other problem specific files. The folder name is referenced in the contest.yaml file.

Sample problem.yaml

# Problem configuration
source: ICPC Mid-Atlantic Regional Contest
author: John von Judge 
rights_owner: ICPC

name: Sumit Sample Problem

The source, author, and rights_owner are optional.

name: is followed by the title of the problem.

Data File Locations

Each problem author needs to create a problem.yaml file and the judge's data and answer files.

Below is an example of where pc2 expects data files to be located. This example uses the problem short name 'sumit'.

The input data files and expected output files (answer files) are created in the data/secret directory.

Example file locations are:

 sumit/problem.yaml
 sumit/data/secret/sumit.ans
 sumit/data/secret/sumit.in

Requirements:

  • Problem input data files end with the extension .in
  • Judge's answer files end with the extension .ans
  • For every .in file there must be an .ans file with the same name.
  • data files must be in the data/secret directory

Solution source locations

These are optional source code files solutions to the problem.

sumit/submissions/accepted/Sumit.java
sumit/submissions/accepted/sumit.c
sumit/submissions/accepted/sumit.cpp

Sample data file location

This sample data is for the teams, usually it is the same data that is printed/listed in the problem description.

sumit/data/sample/sample.in

Examples

In the 9.3 distribution there are examples of contest.yaml and problem definitions under the samps/contests directory.

Here is the example of the files under samps/contests/sumithello/.

contest.yaml
hello/data/secret/hello.ans
hello/data/secret/hello.in
hello/problem_statement/problem.tex
hello/problem.yaml
sumit/data/secret/sumit.ans
sumit/data/secret/sumit.in
sumit/problem_statement/problem.tex
sumit/problem.yaml

See Also