Contest Data Package
A contest data package (CDP) is a description of files/directories that are input and output from a contest.
- 1 Introduction
- 2 Layout / Structure
- 3 File Formats
- 4 PC² Import/Export
- 5 Notes
- 6 See Also
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.
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
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
Contains configuration (input) files to configure a CCS (pc2).
- files for each problem defined, using Problem Format
- contains 600x600 images of each team's logo, in logo<x>.png format.
- contains 1920x1080 images of each team, in team<x>.jpg format.
- contains a folder for each submission
- contains run source file
- contains run.properties file (see below for contents)
- contains a finalized event feed events.xml.
- may contain other files in the format "<x>-events.xml", e.g. "pc2-events.xml".
- contains results.tsv and other output files from the CCS.
- contain CCS specific results files, ex. reports, ex results/pc2
- contains recorded reaction videos for each submission, in reaction<X>.m2ts format.
- contains a final backups of each team's working folder in the form team<X>.tar.gz.
- contains information about the run
mainfile= source file name of main (to be executed executed) source file
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
mainfile=Main.java problem=low language=Java submittedby=28 contesttime=1897053 source1=Main.java source2=Utilities.java sourcecount=2 solved=Yes
For each file or set of files, click on the link to learn how to import / export from PC². The articles also describe the contents of the files.
- problemset.yaml - See contest.yaml
- Problem files See problem.yaml
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.