Difference between revisions of "Serve.cfg:problem:variant num"

From EjudgeWiki
 
Line 19: Line 19:
 
|}
 
|}
  
'''Редактирование элемента:''' либо страница ''"Editing contest"'', вкладка ''"Problems (serve.cfg)"'', блок ''"Concrete problems"'', поле ''"Number of variants"''.
+
'''Редактирование элемента:''' страница ''"Editing contest"'', вкладка ''"Problems (serve.cfg)"'', блок ''"Concrete problems"'', поле ''"Number of variants"''.
  
 
'''Описание.''' Данная конфигурационная переменная устанавливает количество вариантов
 
'''Описание.''' Данная конфигурационная переменная устанавливает количество вариантов

Latest revision as of 14:37, 12 February 2013

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

Имя переменной: variant_num
Содержится в: problem
Используется: serve, run
Тип содержимого: integer
Может отсутствовать: да
Наследуется: да
Значение по умолчанию: не установлено
Может повторяться: нет

Редактирование элемента: страница "Editing contest", вкладка "Problems (serve.cfg)", блок "Concrete problems", поле "Number of variants".

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

В некоторых случаях (например, при проведении самостоятельных работ с автоматической проверкой решений) желательно, чтобы у разных учащихся были бы разные задачи. Для этого можно использовать вариантные задачи. Вариантная задача — это семейство задач, у которых совпадают все параметры, кроме каталога с тестами, каталога с правильными ответами и проверяющей программы. Вариант задачи — это целое число, начиная от 1. Переменная variant_num задаёт количество вариантов задачи, которые, таким образом, нумеруются 1, 2 и до variant_num.

Все параметры, необходимые для тестирования вариантной задачи, получаются из невариантных параметров следующим образом. Каталог с тестами для варианта n должен находиться по пути ${test_dir}-n, где ${test_dir} — значение конфигурационной переменной test_dir данной задачи. Другими словами, к пути к каталогу с тестами, который был бы у данной задачи, если бы она не была вариантной, приписывается номер варианта, отделённый знаком «минус». Каталог с правильными ответами к тестам для варианта n должен находиться по пути ${corr_dir}-n, где ${corr_dir} — значение конфигурационной переменной corr_dir данной задачи. Проверяющая программа должна располагаться по пути ${check_cmd}-n, где ${check_cmd} — значение конфигурационной переменной check_cmd данной задачи.

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

Пример.

variant_num = 4