BOS Docs
Документация на BOS
Документация на BOS
  • 👋Запознайте се с Българската олимпийска система (БОС)
  • Настройване на системата
    • 💿Инсталация
    • 🔧Основно настройване
    • 📤Експорти
  • Основи
    • 👥Потребители
      • Състезатели
    • Задачи
      • Видове задачи
      • Настройки на задача
    • 🏟️Състезания
Powered by GitBook
On this page
  1. Основи

Задачи

PreviousСъстезателиNextВидове задачи

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):

author - this folder is not necessary but it is recommended

author.cpp - intended author's full solution

<task>_<x>p.cpp - another solution that should score <x> points

analysis.pdf - editorial for the task in .pdf format

some other files

statement - necessary for the task statement

<task>.tex - statement's description in .tex format

<task>.pdf - statement in .pdf format

some other files

tests - necessary for the test data

<task>.01.in - recommended name for the input file for the first test

<task>.01.sol - recommended name for the output file for the first test

... - other tests' input and output files

some other files

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 .

here
File explorer view of the author folder in peaks.zip