Tasks
Last updated
Last updated
Every task must be added as a ZIP archive with suitable structure. The basic structure is as follows (we use <task>
as a placeholder for the name of the task):
If this format is followed, the system will automatically detect the statement, analysis, and tests for the task. That will be indicated with a green badge in the file explorer:
For the statement, the system first tries to compile the files in the statement
folder with LuaLaTeX. If this is successful, the generated <task>.pdf
is used for the statement (it will be added to the statement
folder, replacing the old file). If the compilation isn't successful, the provided statement in .pdf format is used.
If there are some translations of the statement in other languages, they must be included in the statement
folder. Their names must end with _<lg>
, where <lg>
is a 2-letter language code. The English statement can be without language code but it has to be the shortest name to be recognized. The language codes that are supported are the following:
az
- Azerbaijani;
am
and hy
- Armenian;
bg
- Bulgarian;
en
- English;
es
- Spanish;
es
- Spanish;
he
- Hebrew;
ro
- Romanian;
ru
- Russian;
ua
- Ukranian.
Additionally, folder contestant
can be included in the task archive for all files that should be given to the contestants for the task - local graders, sample inputs and outputs, simulators, and so on. Contestants download ZIP archive with the files from that folder. It is possible that instead of the contestant
folder, the ZIP archive of it (having the name contestant.zip
) is directly included in the task archive.
The described structure is suitable for the most basic (so-called batch) type of tasks. It is not necessary for all folders to be in the root directory of the archive. Important are mostly the names of the files.
Some task types require other folders and files to be present for the system to know the type of the task or to work properly with it.
Another file that is not necessary but very important is grade.properties
. This file is used to set the task properties which are described .