Difference between revisions of "Cmp file nospace"

From EjudgeWiki
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Стандартная проверяющая программа cmp_file_nospace используется для сравнения файла результата работы тестируемой программы и эталонного файла ответа как текстовых файлов с упрощением повторяющихся последовательностей пробельных символов.
+
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Проверяющие программы]]/[[Стандартные проверяющие программы]]/[[cmp_file_nospace]]
  
При чтении каждого файла в память он разбивается на строки текста по символу \n. Последняя строка в файле может не заканчиваться символом \n. Пробельные символы на концах строк отбрасываются (то есть игнорируются все пробелы, символы табуляции, символы \r и \n). Пустые строки в конце каждого файла также отбрасываются.
+
Стандартная проверяющая программа cmp_file_nospace используется для сравнения файла результата работы тестируемой программы и эталонного файла ответа как [[текстовый файл|текстовых файлов]] с удалением повторяющихся последовательностей пробельных символов.
 +
 
 +
При чтении каждого файла в память он разбивается на строки текста по символу \n. Последняя строка в файле может не заканчиваться символом \n. [[пробельный символ|Пробельные символы]] на концах строк отбрасываются. Пустые строки в конце каждого файла также отбрасываются.
  
 
Все последовательности [[пробельный символ|пробельных символов]], находящиеся в началах строк, удаляются. Последовательности пробельных символов, находящиеся в строке (то есть, и слева и справа от которых находятся непробельные символы), заменяются на один символ пробела. Пустые строки в середине текста удаляются.
 
Все последовательности [[пробельный символ|пробельных символов]], находящиеся в началах строк, удаляются. Последовательности пробельных символов, находящиеся в строке (то есть, и слева и справа от которых находятся непробельные символы), заменяются на один символ пробела. Пустые строки в середине текста удаляются.
  
 
Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт [[неправильный ответ]].
 
Если после такой трансформации результат работы тестируемой программы не равен эталонному ответу, проверяющая программа выносит вердикт [[неправильный ответ]].
 +
 +
(С версии [[Изменения в версии 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 отсутствует, проверяющая программа завершается с вердиктом ошибка неправильного формата результата.