Difference between revisions of "Cmp file"

From EjudgeWiki
Line 4: Line 4:
  
 
Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт [[неправильный ответ]].
 
Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт [[неправильный ответ]].
 +
 +
Если установлена переменная окружения <tt>EJUDGE_NOCASE</tt>, сравнение строк ведется без учета регистра букв
 +
(но только для базовых символов латинского алфавита).
 +
Переменные окружения можно устанавливать с помощью конфигурационной переменной <tt>[[serve.cfg:problem:checker_env|checker_env]]</tt>
 +
раздела описания задачи.

Revision as of 05:44, 25 December 2011

Стандартная проверяющая программа cmp_file используется для сравнения файла результата работы тестируемой программы и эталонного файла ответа как текстовых файлов.

При чтении каждого файла в память он разбивается на строки текста по символу \n. Последняя строка в файле может не заканчиваться символом \n. Пробельные символы на концах строк отбрасываются. Пустые строки в конце каждого файла также отбрасываются.

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

Если установлена переменная окружения EJUDGE_NOCASE, сравнение строк ведется без учета регистра букв (но только для базовых символов латинского алфавита). Переменные окружения можно устанавливать с помощью конфигурационной переменной checker_env раздела описания задачи.