Serve.cfg:problem:problem dir

From EjudgeWiki
Revision as of 00:17, 4 January 2017 by Cher (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

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

Если данная конфигурационная переменная не установлена, то по умолчанию каталог задачи размещается в подкаталоге problems. Название каталога задачи задается конфигурационными переменными short_name или internal_name.

Если данная конфигурационная переменная конкретной задачи содержит путь, не начинающийся с символа '/' или '.', то он отсчитывается относительно каталога problems. Например,

problem_dir = "./other_name"

в этом случае задача находится в problems/./other_name в каталоге турнира.

Если значение переменной равно:

problem_dir = "../000010/problems/A"

в этом случае задача находится в каталоге problems/A каталога турнира 10, то есть используются тесты, проверяющие программы и пр. из другого турнира.

Если переменная содержит абсолютный путь, он сохраняется без изменений.

problem_dir = "/home/judges/git-repo/2016/A"

здесь задача находится в каталоге /home/judges/git-repo/2016/A.

Если конфигурационная переменная конкретной задачи не начинается с символов '/' или '.', а конфигурационная переменная problem_dir абстрактной задачи начинается с символа '/', полный путь к каталогу задачи получается конкатенацией значения конфигурационной переменной абстрактной и конкретной задач.

Например,

[problem]
abstract
short_name = "Generic"
problem_dir = "/home/judges/git-repo/2016"

[problem]
short_name = "A"
super = "Generic"
problem_dir = "A"

В этом случае путь к каталогу задачи A будет равен /home/judges/git-repo/2016/A.

Поддерживается начиная с версии 3.5.2