Difference between revisions of "Cmp file nospace"
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Проверяющие программы]]/[[Стандартные проверяющие программы]]/[[cmp_file_nospace]] | ||
+ | |||
Стандартная проверяющая программа cmp_file_nospace используется для сравнения файла результата работы тестируемой программы и эталонного файла ответа как [[текстовый файл|текстовых файлов]] с удалением повторяющихся последовательностей пробельных символов. | Стандартная проверяющая программа cmp_file_nospace используется для сравнения файла результата работы тестируемой программы и эталонного файла ответа как [[текстовый файл|текстовых файлов]] с удалением повторяющихся последовательностей пробельных символов. | ||
Line 6: | Line 8: | ||
Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт [[неправильный ответ]]. | Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт [[неправильный ответ]]. | ||
+ | |||
+ | (С версии [[Изменения в версии 2.3.25|2.3.25]]) | ||
+ | Если установлена переменная окружения <tt>EJ_REQUIRE_NL</tt>, то вывод тестируемой программы проверяется на наличие символа \n в конце. Если символ \n отсутствует, проверяющая программа завершается с вердиктом [[ошибка неправильного формата результата]]. |
Latest revision as of 06:18, 17 November 2012
Навигация: Главная страница/Система ejudge/Использование/Проверяющие программы/Стандартные проверяющие программы/cmp_file_nospace
Стандартная проверяющая программа cmp_file_nospace используется для сравнения файла результата работы тестируемой программы и эталонного файла ответа как текстовых файлов с удалением повторяющихся последовательностей пробельных символов.
При чтении каждого файла в память он разбивается на строки текста по символу \n. Последняя строка в файле может не заканчиваться символом \n. Пробельные символы на концах строк отбрасываются. Пустые строки в конце каждого файла также отбрасываются.
Все последовательности пробельных символов, находящиеся в началах строк, удаляются. Последовательности пробельных символов, находящиеся в строке (то есть, и слева и справа от которых находятся непробельные символы), заменяются на один символ пробела. Пустые строки в середине текста удаляются.
Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт неправильный ответ.
(С версии 2.3.25) Если установлена переменная окружения EJ_REQUIRE_NL, то вывод тестируемой программы проверяется на наличие символа \n в конце. Если символ \n отсутствует, проверяющая программа завершается с вердиктом ошибка неправильного формата результата.