Framework for creating new programming contest
|Autor:||"Daniel Ampuero" <email@example.com>|
The next documents explains the directory scheme used on this framework. Please read it before you start.
Everything related with the problems should be placed here. Every problem should have its own directory. The directory name will be the problem "code" name. By instance, if a there is a problem called "George Quest", the directory could be named "quest". Inside each directory, there will be the following files and directories (taking as example the problem quest):-- quest | quest-someperson1.cpp | quest-somperson2.java | quest-someperson3.py | generator-quest.py | sample.in | sample.out | validator-quest.py | -- statement | quest.tex | -- images | quest.png
Obviously, not all problems directory should have solutions from every problem setter, but it is suggested that every solution had its author name as a suffix.
In order to save time on this mechanic task, there is an script called "mkproblem.sh" who will create this directory structure for you. It will be explained later.
You should dowload judge_tools from https://bitbucket.org/danielmaxx/judge-tools.git and install it on your system with:$ cd judge_tools $ sudo python3 setup.py install
NOTE: You need Python 3 installed first.
This directory should be updated with "update-statement.sh" script. You should not modify anything else than "problems.tex" file, where you must include each one of the problems files.
Whenever you want to generate a pdf copy of the statement, simply run "generate.sh".
This directory contains a empty problem template. If you type:$ ./mkproblem <problem-name>
an empty problem will be copied in the problems directory. After that, you must change the names inside "problems/<problem-name>".
This is the configuration file for judge_tools. In order to run it, you must:$ ./judge_tools-configuration.py