Рабочий стол > DL Руководство пользователя > Установка задач с открытыми тестами > Просмотр
Установка задач с открытыми тестами Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Добавлен Гуленко Алексей, отредактирован Гуленко Алексей Nov 02, 2013
Метки: 
(нет)

Вы просматриваете старую версию (v. 3) этой страницы.

Установка задач с открытыми тестами

Пример установки задачи с открытыми тестами
Известные проблемы

Пример установки задачи с открытыми тестами

Пишется чекер, как к стандартной задаче на программирование (см. здесь).
Далее делается файл task.cfg (см. здесь) следующего содержания:

task.cfg
OUTPUT = FILE(tiny.out)
INPUT = FILE(tiny.in)
MEM_LIMIT = 268435456
TYPE = OPENTESTS
OPENTESTS = tiny.o%s
CHECKER = 1
TESTS_BEGIN
20
20
20
20
20
TESTS_END
  • убран COUNT_BY и т.п.
  • установлен TYPE = OPENTESTS
  • задан формат имени выходного файла OPENTESTS ( %s соответствует номеру файла: tiny.o3 )
  • включён чекер: CHECKER = 1

Помещаем его и чекер в папку задачи, делаем архив input.rar со входными файлами (переименованными согласно условию) и помещаем его в подпапку webfiles/ внутри папки с задачей.
Открываем F:/DL/Data/dldata/Tasks/139114.htm (по номеру задачи) и добавляем строчку со ссылкой на файл:

139114.html
...
<p><pre>
<a href="webfiles/input.rar">Загрузить тесты< /a>
< /pre>< /p>< /body>< /html>

Установленная в примере задача находится здесь.

Известные проблемы

  • Обнаружено путём отладки задачи 12_IOI_d1t1 - "Pebbling Odometer"
    • Подготовка к тестированию (удаление файла checker.exe, копирование содержимого входной директории) выполняется в tempdir/<time>/, а копирование файла вывода и чекера (и его запуск) – в cache/
      • Как следствие, задачи с несколькими входными файлами (INPUT = DIRECTORY) с открытыми тестами не тестируются
      • Очевидно, в ранее установленных задачах с открытыми тестами всегда был один входной файл, а не директория (и он копировался вместе с пользовательским файлом вывода)
    • Опция OUTPUT в task.cfg полностью игнорируется (во всяком случае, пользовательский файл вывода копируется без изменения имени: subtask_1.odo -> subtask_1.odo вместо subtask_1.odo -> program.odo)
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами