Краткий формат файла task.cfg

Следует учитывать, что файл task.cfg должен быть в кодировке Windows. Порядок строк не существенен.

Строка (строки) в task.cfg

Комментарии

[COUNT_BY = TASK|TEST]

Баллы начисляются за задачу или по тестам

[TIME_LIMIT = «время в секундах»]

Ограничение времени работы решения на каждый тест. Поддерживаются дробные значения через точку, например: 0.5.

[INPUT  = { FILE(filename) | CON | DIRECTORY }]

Имя входного файла, ввод с клавиатуры, или ввод из файлов в каталоге.

[OUTPUT = {FILE(filename) | CON}]

Имя выходного файла или вывод на экран

[TESTS_BEGIN

«стоимость первого теста»

«стоимость второго теста»

«стоимость последнего теста»

TESTS_END ]

Количество баллов за прохождение каждого теста. Тесты могут группироваться. В этом случае баллы даются, только если пройдены все тесты группы. Все баллы кроме последнего в группе отрицательны (см. пример)

[CHECKER = 'Специальная'] или

[CHECKER = 1] или

[CHECKER = true]

Эта строка указывает на то, что необходимо использовать чекер.

[CHECKFILES = {«маска файла»}

CHECKSUBJECT = FILE]

Здесь указываются необходимые файлы для чекера.

[TYPE = USERS

CHECKER = '«строка запуска проверяющего модуля»'

EXTTYPE = 'Пользовательская']

Запуск внешнего модуля для проверки (см. описание работы Дельты)

[TYPE = INTERACTIVE]

Указывает на то, что задача является интерактивной. Подробнее
Пример задачи

[TYPE = OPENTESTS
OPENTESTS=output%s.txt]

Указывает на то, что задача является задачей с открытыми тестами. В качестве параметра OPENTESTS указывается формат файлов для проверки (%s - номер текущего теста).
Например, при OPENTESTS=output%s.txt файл ответа на 1 тест будет иметь имя output1.txt
Подробнее, Пример задачи

[MEM_LIMIT = «память в байтах»]

Ограничение работы решения по памяти на каждый тест

Пример 1

Допустим, необходимо установить задачу с прошедшей олимпиады, и для ее проверки необходим чекер. Причем есть только запускаемый “exe-файл” авторского чекера, который не работает в формате системы DLB. Для установки такой задачи необходимо создать простую программу на любом компилируемом языке, которая будет работать в формате системы DLB, и запускать чекер автора с нужными параметрами. В примере ниже чекер автора задачи имеет имя «chchk.exe», а чекер в формате DLB стандартное имя «checker.exe». Из программы checker.exe происходит вызов chchk.exe.

Файл task.cfg

Комментарии

COUNT_BY = TEST

Оценка задачи по тестам

TIME_LIMIT = 15

На каждый тест не более 15 секунд

INPUT = DIRECTORY

 

В каталогах 1.in, 2.in … находятся файлы, которые будут копироваться перед запуском решения пользователя

OUTPUT = FILE(VICTORY.OUT)

Выходной файл решения пользователя

CHECKER = 'Специальная'

Для оценки ответа будет использоваться чекер.

CHECKSUBJECT = FILE

CHECKFILES = {CHCHK.EXE}

Для работы чекера необходим файл CHCHK.EXE (авторский чекер)

TESTS_BEGIN

  1

  3

TESTS_END

При прохождении первого теста дается один балл.

При прохождении второго теста дается три балла.

Если в task.cfg не будет строк

CHECKSUBJECT = FILE

CHECKFILES = {CHCHK.EXE}

, то чекеру будет недоступен файл CHCHK.EXE.


Пример 2

Файл task.cfg

Комментарии

COUNT_BY = TEST

Оценка задачи по тестам

TIME_LIMIT = 5

На каждый тест не более пяти секунд

INPUT = CON

Ввод через клавиатуру

OUTPUT = CON

Вывод на экран

TESTS_BEGIN

  1

 -1

 -1

  1

 -2

  3

TESTS_END

Здесь объединены в группы тесты 2, 3, 4 и

5, 6. При прохождении тестов 2, 3, 4 начисляется 3 балла. При прохождении тестов 5 и 6 начисляется 5 баллов.

Максимум по задаче можно получить 9 баллов.


Таким образом, группа тестов начинается с первого отрицательного балла за тест и заканчивается первым положительным.