Задачи

Когда вы создаете соревнование, к нему прикрепляется пустой набор задач. Вы можете добавить задачи в созданный набор задач или выбрать другой.
Чтобы добавить задачи в прикрепленный набор задач:

  1. На странице с настройками соревнования в меню слева выберите пункт Задачи.
  2. Нажмите название набора. Откроется страница настроек набора.

Чтобы выбрать другой набор задач для соревнования:

  1. На странице с настройками соревнования в меню слева выберите пункт Задачи.
  2. Нажмите кнопку Выбрать другой набор задач.
  3. Выберите набор из списка и нажмите Добавить.
  4. Нажмите название набора. Откроется страница настроек набора.

Условия

На вкладке Условия вы можете посмотреть список и условия добавленных в набор задач. Чтобы перейти к настройкам задачи, нажмите ее название.

Чтобы посмотреть условия, нажмите значок напротив нужной задачи. Условия откроются в соседней вкладке.

Тестирование

На вкладке Тестирование вы можете посмотреть подробную информацию о добавленных задачах. Все данные доступны только для просмотра.

Чтобы перейти к настройкам задачи, нажмите ее название.

Настройки задач

Если нужно задать особое поведение одной или нескольких задач, на вкладке Настройки задач укажите индивидуальные настройки соревнования. Они применятся к выбранным задачам в этом соревновании, для остальных будут использоваться общие настройки соревнования. Индивидуальные настройки действуют только в пределах того соревнования, в котором были заданы.

Чтобы указать индивидуальные настройки:

  1. Нажмите поле Не выбрано, выберите задачу из выпадающего списка и нажмите Добавить.

    Чтобы убрать индивидуальные настройки, справа от названия задачи нажмите .

  2. Нажмите на строку с названием задачи и выберите категорию настроек:

    Компиляторы

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

    Тестирование и отчет для участников

    Настройки тестирования:

    Параметр

    Описание

    Использовать AC вместо OK

    При успешном прохождении тестов и чекера решению выставлять вердикт AC (принято на проверку) вместо OK.

    Прерывать тестирование при первой ошибке

    При первой ошибке на любом тесте прервать тестирование.

    Прерывать тестирование при первой ошибке внутри набора тестов

    При ошибке внутри одного набора тестов прервать тестирование этого набора и продолжить в следующем наборе тестов.

    При непройденных тестах из условия

    Продолжать тестирование или Остановить тестирование при неудачном прохождении одного или нескольких тестов из примеров (samples), заданных в настройках задачи.

    Настройки отчетов:

    Параметр

    Описание

    Упрощенный отчет по посылке

    Отображать таблицу с ранее отправленными решениями и результатами их проверки на странице задачи.

    Показывать результат посылки после окончания участия

    Показать участнику баллы и вердикты за посылку после завершения соревнования. Не влияет на отображение результатов в мониторе.

    Использованное программой время и память

    Для каких тестов будет показано расходование ресурсов при тестировании решения.

    Вердикт

    Отображать вердикта по отдельным тестам и целиком по задаче:

    • На всех тестах — для итогового вердикта будут учтены индивидуальные вердикты по всем тестам.
    • Только на примерах — будет выставлен вердикт AC, если все тесты из примеров прошли и есть тесты, которые не прошли и не были добавлены в примеры, или OK, если пройдены все тесты.

    В выпадающем списке можно настроить для каких тестов будут отображаться вердикты на пользовательской странице отчета о тестировании.

    Очки

    Отображать в отчете баллы за отдельные тесты и примеры.

    Ввод

    Отображать в отчете входные данные для тестирования решения.

    Вывод

    Отображать в отчете данных, полученных в результате тестирования решения.

    Правильный ответ

    Отображать в отчете ожидаемый ответ в результате тестирования решения.

    stderr

    Отображать в отчете ошибки, возникающие в процессе тестирования решения.

    Вывод чекера

    Отображать в отчете данные, полученные в результате выполнения чекера задачи.

    Вывод постпроцессора

    Отображать в отчете данные, возвращенные постпроцессором задачи.

    Посылки

    Параметр

    Описание

    Максимальный размер посылки

    Максимальный размер файла или текста решения, который пользователь может отправить. При превышении пользователь получит предупреждение.

    Максимальное количество попыток

    Максимальное количество решений одной и той же задачи, которое участник может отправить на оценку. Не влияет на отправление посылки при дорешивании.

    Минимальное время между попытками, в секундах

    Минимальное время, которое должно пройти между отправками решений. При превышении пользователь получит предупреждение Нельзя делать посылки так часто.

    Исключить вердикты

    Исключает из числа использованных пользователем попыток решения с одним или несколькими выбранными вердиктами. Выбранные вердикты не расходуют число попыток.

    Список вердиктов
    • OK — верный ответ.
    • WrongAnswer (WA) — неправильный ответ.
    • TimeLimitExceeded (TL) — превышено максимальное время выполнения проверки задачи.
    • MemoryLimitExceeded (ML) — превышено ограничение на оперативную память.
    • RuntimeError (RE) — программа завершила работу с ненулевым кодом возврата.
    • SecurityViolation (SE) — программа пыталась выполнить недопустимый системный вызов.
    • IdlenessLimitExceeded (IL) — превышено максимальное время ожидания.
    • Crash — запуск программы завершился ошибкой.
    • PresentationError (PE) — формат выходных данных не соответствует описанному в условиях задачи.
    • OutputLimitExceeded (OL) — превышен максимальный максимальный объем вывода задачи.
    • CompilationError (CE) — компиляция программы завершилась с ошибкой.
    • AcceptedForTesting (AC) — решение принято на проверку.
    • ManualInspection (MI) — решение находится на ручной проверке.
    • PrecompileCheckFailed (PCF) — программа не прошла проверку на качество кода перед компиляцией
    • Ignored (IG) — решение проигнорировано.

    Посылки с идентичным кодом

    Позволить отправлять одно и то же решение несколько раз.

  3. Измените выбранные настройки и нажмите Сохранить.

Правила видимости задач

На вкладке Правила видимости задач вы можете задать правила, в каком порядке и при каких условиях будут показываться задачи.

Правила задаются в JSON-файле и загружаются по кнопке Выбрать файл. После того как правила были загружены, их можно скачать или посмотреть под кнопкой загрузки.

В JSON-файле должен быть один объект rules — массив с правилами для каждой задачи. Поля задачи:

Название поля

Описание

problem

Обязательное поле.

Короткое название задачи.

visibleSince

Показать задачу через указанное количество миллисекунд с начала соревнования.

visibleDuring

Скрывать задачу через указанное количество миллисекунд.

hideWhenSolved

Скрывать, если задача решена:

  • value — true, чтобы включить опцию;
  • scope — тип скрытия:
    • local — когда задача решена текущим пользователем;
    • global — когда задача решена любым участником соревнования.

hideWhenAttempted

Скрывать, если были попытки решить задачу (см. поле hideWhenSolved).

shouldBeSolved

Задача показывается, когда другие задачи решены:

  • value — список коротких названий задач;
  • quantifier — способ применения правила:
    • all — при решении всех задач из списка;
    • any — при решении хотя бы одной задачи из списка.
  • scope — тип скрытия:
    • local — когда задачи решены текущим пользователем;
    • global — когда задачи решены любым участником соревнования.

shouldNotBeSolved

Задача показывается, когда другие задачи не решены (см. поле shouldBeSolved).

shouldBeAttempted

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

shouldNotBeAttempted

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

Пример

Эта конфигурация показывает задачу A с пятнадцати до тридцати минут после начала соревнования и скрывает ее после решения, а задачу B — после того, как хотя бы один участник соревнования решит задачу A.

{
  "rules" : [
    {
      "problem" : "A",
      "visibleSince" : 900000,
      "visibleDuring" : 1800000,
      "hideWhenSolved" : {
        "scope" : "local",
        "value" : true
      }
    },
    {
      "problem" : "B",
      "shouldBeSolved" : {
        "scope" : "global",
        "value" : [ "A" ],
        "quantifier" : "all"
      }
    }
  ]
}
Написать в службу поддержки