Serve.cfg:problem:tokens

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/tokens

Данная конфигурационная переменная позволяет определить формулу для вычисления числа задачных токенов в течении турнира. Задачные токены могут использоваться только для той задачи, для которой они определены. Формула для вычисления числа токенов имеет вид:

INITIAL[(+/-)INC/TIME](+/-)USE/FLAGS

INITIAL количество токенов, выдаваемых каждому участнику в момент начала турнира. Это - целое число, которое может быть как положительным, так и отрицательным. Число должно обязательно присутствовать. INC - целое число, число токенов, добавляемых или убираемых за указанное время, TIME - целое число, за которым идет единица измерения. В качестве единиц измерения допускается 's' - секунды, 'm' - минуты, 'h' - часы, 'd' - дни, 'w' - недели. USE - целое число, добавляемое или вычитаемое из числа токенов при использовании токена. FLAGS - флаги использования токена.

Флаги использования токена задают, доступ к какой информации получает участник турнира при использовании токена. Расширенная информация предоставляется только по той посылке, на которой был использован токен.

  • флаг FinalScore разрешает показ полного результата проверки задачи, если включен режим separate_user_score. То есть, по умолчанию для посылки показывается только балл, вычисленный на открытых тестах. После использования токена на некоторой посылке показывается и балл на скрытых тестах, полученный за эту посылку.
  • флаг BasicOpenTests разрешает показ стандартного пользовательского протокола проверки. Видимость отдельных тестов пользовательского протокола проверки задается с помощью конфигурационной переменной open_tests. Флаг действует и в том случае, когда просмотр протоколов тестирования (конфигурационная переменная team_enable_rep_view) вообще запрещен.
  • флаг TokenOpenTests разрешает показ протокола проверки, в котором видимость отдельных тестов определяется с помощью конфигурационной переменной token_open_tests.
  • флаг FinalOpenTests разрешает показ протокола проверки, в котором видимость отдельных тестов определяется с помощью конфигурационной переменной final_open_tests.
  • флаг ValuerJudgeComment разрешает показ комментариев для привилегированных пользователей оценивающей программы. Флаг доступен, начиная с версии 3.3.0.

Флаги BasicOpenTests, TokenOpenTests, FinalOpenTests исключают друг друга, то есть, если указано несколько из них, действует последний. Если необходимо указать несколько флагов, например, FinalScore и TokenOpenTests, они разделяются запятой.

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

Например, выражение

10-1/FinalScore

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

Выражение

10-2/30m-1/FinalScore,TokenOpenTests

задает, что в начале турнира каждому участнику выдается 10 токенов, но каждые 30 минут из этого числа вычитается 2. Участник может потратить 1 токен для того, чтобы посмотреть окончательных балл и протокол тестирования, в котором видимость тестов задается переменной token_open_tests.

Выражение

0+5/1h-2/TokenFinalTests

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

Данная конфигурационная переменная доступна, начиная с версии 3.2.0.