Следует учитывать, что файл 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 ] |
Количество баллов за прохождение каждого теста. Тесты могут группироваться. В этом случае баллы даются, только если пройдены все тесты группы. Все баллы кроме последнего в группе отрицательны (см. пример) |
Эта строка указывает на то, что необходимо использовать чекер. |
|
[CHECKFILES = {«маска файла»} CHECKSUBJECT = FILE] |
Здесь указываются необходимые файлы для чекера. |
[TYPE = USERS CHECKER = '«строка запуска проверяющего модуля»' EXTTYPE = 'Пользовательская'] |
Запуск внешнего модуля для проверки (см. описание работы Дельты) |
[TYPE = INTERACTIVE] |
Указывает на то, что задача является интерактивной. Подробнее |
[TYPE = OPENTESTS |
Указывает на то, что задача является задачей с открытыми тестами. В качестве параметра OPENTESTS указывается формат файлов для проверки (%s - номер текущего теста). |
[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 баллов. Таким образом, группа тестов начинается с первого отрицательного балла за тест и заканчивается первым положительным. |