Serve.cfg:global:variant map file

From EjudgeWiki

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

Имя переменной: variant_map_file
Содержится в: global
Используется: serve
Тип содержимого: путь к файлу
Может отсутствовать: да
Значение по умолчанию: не установлено
Может повторяться: нет

Описание. Данная конфигурационная переменная устанавливает путь к файлу, в котором находится отображение регистрационных имён участников турнира в номера ва- риантов для всех вариантных задач данного турнира (см. конфигурационную переменную variant_num). Если в турнире есть хотя бы одна вариантная задача, параметр variant_map_file должен быть установлен в имя корректного файла. Полный путь к файлу вариантов формируется по следующим правилам: если значение переменной variant_map_file начинается с символа ’/’, то есть является абсолютным путём, используется значение этой переменной. В противном случае полный путь к файлу вариантов получается конкатенацией значения конфигурационной переменной conf_dir и значения переменной variant_map_file. Текущая версия системы ejudge поддерживает следующий формат файла отображения вариантов. Файл имеет следующую структуру.

<variant_map version="1">
VARIANT_MAP_LINE*
</variant_map>

Здесь первая и последние строки должны присутствовать точно в указанном виде, VARIANT_MAP_LINE — строка отображения вариантов для одного пользователя. Комментарии в файле начинаются с символа # и оканчиваются концом строки. Пустые строки в файле игнорируются. Файл вариантов может содержать произвольное количество строк отображения вариантов, однако участник, не упомянутый в файле отображения вариантов, теряет возможность сдавать вариантные задачи. Попытка сдачи им вариантной задачи завершится ошибкой недопустимой задачи. Каждый участник может быть упомянут в файле вариантов не более одного раза.

Строка отображения вариантов одного пользователя имеет следующий вид:

LOGIN VARIANT*

Здесь LOGIN — это регистрационное имя пользователя, VARIANT — номер варианта. Номера вариантов должны быть перечислены для всех вариантных задач турнира и в том же порядке, в котором заданы вариантные задачи. Количество номеров вариантов в строке отображения вариантов должно совпадать с количеством вариантных задач турнира. Вариант задачи — это целое число от 1 и до значения конфигурационной переменной variant_num соответствующей задачи включительно.

Пример.

variant_map_file = "variant.map"

Если в турнире определены три вариантные задачи, каждая из которых имеет по 4 варианта, то следующий пример задаёт отображение вариантов для пользователей user1, user2, user3.

<variant_map version="1">
 # Задачи: A, B, C
 user1     1  3  2
 user2     3  4  1
 user3     4  2  4
 </variant_map>