Difference between revisions of "Serve.cfg:global:variant map file"

From EjudgeWiki
 
Line 17: Line 17:
 
|}
 
|}
 
'''Описание.''' Данная конфигурационная переменная устанавливает путь к файлу, в котором находится отображение регистрационных имён участников турнира в номера ва-
 
'''Описание.''' Данная конфигурационная переменная устанавливает путь к файлу, в котором находится отображение регистрационных имён участников турнира в номера ва-
риантов для всех вариантных задач данного турнира (см. конфигурационную переменную <tt>[[serve.cfg:global:variant_num|variant_num]]</tt>). Если в турнире есть хотя бы одна вариантная задача, параметр
+
риантов для всех вариантных задач данного турнира (см. конфигурационную переменную <tt>[[serve.cfg:problem:variant_num|variant_num]]</tt>). Если в турнире есть хотя бы одна вариантная задача, параметр
 
<tt>variant_map_file</tt> должен быть установлен в имя корректного файла. Полный путь
 
<tt>variant_map_file</tt> должен быть установлен в имя корректного файла. Полный путь
 
к файлу вариантов формируется по следующим правилам: если значение переменной
 
к файлу вариантов формируется по следующим правилам: если значение переменной
Line 41: Line 41:
 
же порядке, в котором заданы вариантные задачи. Количество номеров вариантов в строке
 
же порядке, в котором заданы вариантные задачи. Количество номеров вариантов в строке
 
отображения вариантов должно совпадать с количеством вариантных задач турнира. Вариант
 
отображения вариантов должно совпадать с количеством вариантных задач турнира. Вариант
задачи — это целое число от 1 и до значения конфигурационной переменной <tt>[[serve.cfg:global:variant_num|variant_num]]</tt>
+
задачи — это целое число от 1 и до значения конфигурационной переменной <tt>[[serve.cfg:problem:variant_num|variant_num]]</tt>
 
соответствующей задачи включительно.
 
соответствующей задачи включительно.
  

Latest revision as of 06:08, 24 November 2014

Навигация: Главная страница/Система 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>