Contest Data Package
A contest data package (CDP) is a description of files and directory layout for contest configuration, data and results.
- 1 Introduction
- 2 Layout / Structure
- 2.1 Input Files
- 2.2 Output Files
- 3 Multiple Sites
- 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, under config/, images/ etc. and the results of the contest, under results/, events/, etc.
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/standings.json results/results.tsv backups/team1.zip backups/team2.zip backups/team3.zip 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 results/standings.json 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
These are files that are input/configuration files for a contest.
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.
These are files that are output from a contest.
- contains a folder for each run submission
- Team's submitted source code file(s)
- run.properties file (optional)
- may contain other files in the format "<x>-events.xml", e.g. "pc2-events.xml".
- contains other output files from the CCS.
- contain CCS specific results files, ex. reports, ex
- 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>.zip.
For team102 their $HOME backup would be stored in
The CDP was developed for the ICPC Finals and single site contests. This section covers where to put other sites' files.
In general each sites' data is saved in a directory under the cdp directory.
Certain output files contain all sites' information like results.tsv and scoreboard.tsv (scoreboards).
- The site 1 information is stored under the cdp as described (no need for site1 directories)
- Other sites are stored under their respective site dirs under the same cdp directory with the site name (see examples)
- Each site is stored under siteN where N is the number of the site.
- No zero padding is allowed for the site directory or filenames.
site3 site4 site9 site22
Multi-site specific files
These example location and files will be for site 4 of a contest.
Here would be the locations for files for site4 data.
backups/site4/team1.tar.gz backups/site4/team2.tar.gz backups/site4/team3.tar.gz eventFeed/site4/events.json eventFeed/site4/events.xml images/site4/logos/logo1.png images/site4/logos/logo2.png images/site4/logos/logo3.png images/site4/teams/team1.jpg images/site4/teams/team2.jpg images/site4/teams/team3.jpg results/site4/results.tsv results/site4/runs.tsv results/site4/scoreboard.tsv results/site4/standings.json submissions/site4/1/A.java submissions/site4/1/run.properties submissions/site4/2/A.java submissions/site4/2/run.properties submissions/site4/3/A.java submissions/site4/3/C.java submissions/site4/3/run.properties video/reactions/site4/reaction1.m2ts video/reactions/site4/reaction2.m2ts video/reactions/site4/reaction3.m2ts
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.