Contest Data Package
A contest data package (CDP) is a description of files/directories that are input and output from a contest.
Introduction
This standard contains a description of the organization of contest data. Both the data that is input to the contest and the results of the contest.
Here are two example of the standard.
To learn how pc2 imports and exports the data see the Import/Export section below.
Sample One
config/hello/problem.yaml config/hello/data/secret/hello.ans config/hello/data/secret/hello.in config/hello/data/problem_statement/problem.tex config/teams.tsv config/sumit/problem.yaml config/sumit/data/secret/sumit.in config/sumit/data/secret/sumit.ans config/sumit/data/problem_statement/problem.tex config/contest.yaml config/problemset.yaml config/groups.tsv config/userdata.tsv submissions/1/A.java submissions/3/C.java submissions/3/A.java submissions/2/A.java results/runs.tsv results/scoreboard.tsv results/results.tsv backups/team1.tar.gz backups/team2.tar.gz backups/team3.tar.gz video/reactions/reaction3.m2ts video/reactions/reaction1.m2ts video/reactions/reaction2.m2ts images/teams/team3.jpg images/teams/team2.jpg images/teams/team1.jpg images/logos/logo1.png images/logos/logo3.png images/logos/logo2.png eventFeed/eventfeed.json eventFeed/eventfeed.xml
Sample Two
backups/team1.tar.gz backups/team2.tar.gz backups/team3.tar.gz config/contest.yaml config/groups.tsv config/problemset.yaml config/teams.tsv config/userdata.tsv config/hello/problem.yaml config/hello/data/problem_statement/problem.tex config/hello/data/secret/hello.ans config/hello/data/secret/hello.in config/sumit/data/problem_statement/problem.tex config/sumit/data/secret/sumit.ans config/sumit/data/secret/sumit.in config/sumit/problem.yaml eventFeed/events.json eventFeed/events.xml images/logos/logo1.png images/logos/logo2.png images/logos/logo3.png images/teams/team1.jpg images/teams/team2.jpg images/teams/team3.jpg results/results.tsv results/runs.tsv results/scoreboard.tsv submissions/1/run.properties submissions/1/A.java submissions/2/A.java submissions/2/run.properties submissions/3/run.properties submissions/3/A.java submissions/3/C.java video/reactions/reaction1.m2ts video/reactions/reaction2.m2ts video/reactions/reaction3.m2ts
Layout / Structure
config/
Contains configuration (input) files to configure a CCS (pc2).
- files for each problem defined, using Problem Format
images/logos/
- contains 600x600 images of each team's logo, in logo<x>.png format.
images/teams/
- contains 1920x1080 images of each team, in team<x>.jpg format.
submissions/
- contains a folder for each submission
submissions/##
- contains run source file
- contains run.properties file (see below for contents)
eventFeed/
- contains a finalized event feed events.xml.
- may contain other files in the format "<x>-events.xml", e.g. "pc2-events.xml".
results/
- contains results.tsv and other output files from the CCS.
results/<CCS>
- contain CCS specific results files, ex. reports, ex results/pc2
video/reactions/
- contains recorded reaction videos for each submission, in reaction<X>.m2ts format.
backups/
- contains a final backups of each team's working folder in the form team<X>.tar.gz.
File Formats
runs.properties file
- contains information about the run
Required names
mainfile= source file name of main (to be executed executed) source file
Optional names
contesttime= number of milliseconds since contest start when submission sent
submittedby= either a # meaning a team or a login account (like judge3)
language= language name, can be the file extension or the full title of the language used
problem= problem short name as found in the problemset.yaml
solved= boolean (yes/no or true/false)
TBD should we limit the boolean values to yes/no ?
sourcecount= number of source files submitted
source1= source file one source2= source file two sourceN= source file N
Examples
mainfile=Main.java problem=low language=Java submittedby=28 contesttime=1897053 source1=Main.java source2=Utilities.java sourcecount=2 solved=Yes
Notes
To start/configure a contest the only required folder is config/. A contest archive with only config/ is only useful for loading into a CCS to start configuring a contest.
Once the contest is complete, the final event feed and submission files should be added back into the archive.
Other content is added as available, e.g. some contests will have backups, reaction videos, or logos, and others won't.