Contest.yaml
A contest.yaml file contains information to configure a contest.
Contents
Contents of contest.yaml
For the current CCS specification for a contest.yaml see contest.yaml
Key | Description |
---|---|
name | Name of contest |
short-name | Short name of contest |
start-time | Date and time in ISO 8601 format (wall-clock time that the contest starts) |
duration | Duration as h:mm:ss (length of contest, in contest time) |
scoreboard-freeze | Time before end of contest when scoreboard will be frozen form HH:MM:SS |
default-clars | Sequence of pre-defined clarification answers. The first will be pre-selected |
clar-categories | Sequence of categories for clarifications. |
languages | List of mappings with keys for languages. |
problemset | List of mappings with keys for problems. (see problem.yaml) |
Example
# Contest Configuration, version 1.0 # PC^2 Version: Version 9.3 20110918 (Sunday, September 18th 2011 23:51 UTC) Java ver 1.6.0_20 build 2345 Windows XP 5.1 (x86) # Created: 2011-09-18 18:05:40 PDT name: Sumit Hello Sample short-name: elapsed: 0:00:00 remaining: 5:00:00 running: false # Freeze at 1 hour before the end of the contest scoreboard-freeze: 1:00:00 languages: - name: Java active: true - name: Perl active: true - name: GNU C++ active: true - name: GNU C active: true problemset: - letter: A short-name: hello - letter: B short-name: sumit # EOF Contest Configuration
languages
Short Form
The short form will add a language with the pc2 default settings.
languages: - name: Java active: true
Long Form
languages: - name: 'Java' active: true compilerCmd: 'javac {:mainfile}' exemask: '{:basename}.class' execCmd: 'java {:basename}' runner: 'java' runner-args: '{:basename}' interpretedfalse use-judge-cmd: true judge-exec-cmd: 'java {:basename}' - name: 'GNU C' active: true compilerCmd: 'gcc -lm -o {:basename}.exe {:mainfile}' exemask: '{:basename}.exe' execCmd: '.\{:basename}.exe ' runner: '.\{:basename}.exe' runner-args: interpretedfalse use-judge-cmd: true judge-exec-cmd: '{:basename}.exe' - name: 'GNU C++' active: true compilerCmd: 'g++ -lm -o {:basename}.exe {:mainfile}' exemask: '{:basename}.exe' execCmd: '.\{:basename}.exe ' runner: '.\{:basename}.exe' runner-args: interpretedfalse use-judge-cmd: true judge-exec-cmd: '{:basename}.exe' - name: 'Python' active: true compilerCmd: 'python3 -m py_compile {:mainfile}' exemask: execCmd: 'python3 {:mainfile}' runner: 'python3' runner-args: '{:mainfile}' interpretedtrue use-judge-cmd: true judge-exec-cmd: 'python {:mainfile}' - name: 'Python 3' active: true compilerCmd: 'python3 -m py_compile {:mainfile}' exemask: execCmd: 'python3 {:mainfile}' runner: 'python3' runner-args: '{:mainfile}' interpretedtrue use-judge-cmd: true judge-exec-cmd: 'python3 {:mainfile}'
problemset
The list of problems defs in the problemset determines the number and order of the problems defined in a contest.
Each problemset problem definition has a short-name which is also called the problem short name. The problem short name is the name of a directory where the rest of the problem settings are stored. For more information about those files and their contents see the article Problem Format.
The problem short name (short-name) directory is expected to be in the same directory as the contest.yaml file.
Name | Description | Example |
---|---|---|
letter | letter used to identify problem | G |
short-name | problem short name (directory name for files, see Problem Format) | fizbuzz |
color | (optional) name of the color for the balloon | Muave |
rgb | (optional) the RGB color for the ballon | #0000ff |
An example of a problemset section
problemset: - letter: A short-name: apl color: yellow rgb: #ffff00 - letter: B short-name: barcodes color: red rgb: #ff0000 - letter: C short-name: biobots color: green rgb: #00ff00 - letter: D short-name: castles color: blue rgb: #0000ff - letter: E short-name: channel color: white rgb: #ffffff
PC² specific keys and values
The article CCS Enhancements describes these entries in more detail.
Section | Description |
---|---|
sites | Sequence of mappings for Site information |
accounts | set of accounts to generate (same functionality as Generate Accounts) |
auto judge | Define Auto Judge assignments/settings |
replay | automatic Replay of previous contest feature |
Example
accounts: - account: TEAM site: 1 count: 20 - account: JUDGE site: 1 count: 8 - account: SCOREBOARD site: 1 count: 1 sites: - number: 1 name: Site 1 IP: 130.86.67.202 port: 50002 password: siteone - number: 2 name: Site 2 IP: 130.86.67.201 port: 50002 auto-judging: - account: JUDGE site: 1 number: 2 letters: A enabled: yes - account: JUDGE number: 4,5,6 letters: B,C,D - account: JUDGE site: 2 number: all letters: B,C,D - account: JUDGE site: 1 number: 1,3 letters: F enabled: no
Other Values
Other custom values are found in the article CCS Enhancements
Creating contest.yaml
A contest.yaml, problem.yaml and data files can be saved using either:
- the Export Contest YAML feature
- or use the Export Contest XML Report
Loading contest.yaml
Use the Admin Import CCS tab, Import contest.yaml button.