Использование тестовой системы
Скачать дистрибутив тестовой системы
Установить contester
Запустить contester
Зайти на сервер на правах администратора
Создать турнир
Создать задачу
Оформить условие задачи
Добавить рисунки (если необходимо)
Создать тестовые пары
Добавить чекер Чекер проверяющая программа. Она должна быть добавлена к каждой задаче, загруженной в Contester. Чекер сопоставляет результат, который выдаёт программа участников с результатом тестовой пары Советы по созданию чекеров есть в файле utils\unJudge17.pas. Ознакомиться с текстами чекеров можно в уже имеющейся базе задач.
Варианты чекеров {$APPTYPE CONSOLE} uses SysUtils, {$IFDEF MSWINDOWS} unJudge17 in '..\utils\unJudge17.pas'; {$ELSE} unJudge17 in '../utils/unJudge17.pas'; {$ENDIF} var p, o: Int64; begin PatternTxt.ReadLongLong(p); OutputTxt.ReadLongLong(o); OutputTxt.MustBeEof; if p o then VRejectWA; VAccept; end. Чекер для программы, где результатом должно быть одно целое число
Варианты чекеров {$APPTYPE CONSOLE} uses SysUtils, {$IFDEF MSWINDOWS} unJudge17 in '..\utils\unJudge17.pas'; {$ELSE} unJudge17 in '../utils/unJudge17.pas'; {$ENDIF} var p, o: String; begin PatternTxt.ReadString(p); OutputTxt.ReadString(o); OutputTxt.MustBeEof; if p o then VRejectWA; VAccept; end. Чекер для программы, где результатом должна быть одна строка символов
Варианты чекеров uses SysUtils, {$IFDEF MSWINDOWS} unJudge17 in '..\utils\unJudge17.pas'; {$ELSE} unJudge17 in '../utils/unJudge17.pas'; {$ENDIF} const eps = 1.1e-1; var ja, pa: extended; begin ja := ans.readreal; pa := ouf.readreal; if abs(ja - pa) >eps then quit(_wa, 'Expected: ' + floattostr(ja) + ', found: ' + floattostr(pa)); quit(_ok, floattostr(ja)); end. Чекер для программы, где результатом должно быть одно вещественное число, с точностью до одно знака после запятой. За точность отвечает константа eps.
Варианты чекеров uses SysUtils, {$IFDEF MSWINDOWS} unJudge17 in '..\utils\unJudge17.pas'; {$ELSE} unJudge17 in '../utils/unJudge17.pas'; {$ENDIF} const eps = 1.1e-3; var ja1,ja2, pa1,pa2: extended; begin ja1 := ans.readreal; pa1 := ouf.readreal; ja2 := ans.readreal; pa2 := ouf.readreal; if ( abs(ja1 - pa1) >eps ) and ( abs(ja2 - pa2) >eps ) then quit(_wa, 'Expected: ' + floattostr(ja1) + ', found: ' + floattostr(pa1)); quit(_ok, floattostr(ja1)); end. Чекер для программы, где результатом должны быть два вещественных числа, с точностью до трёх знаков после запятой.
Варианты чекеров Uses SysUtils, {$IFDEF MSWINDOWS} unJudge17 in '..\utils\unJudge17.pas'; {$ELSE} unJudge17 in '../utils/unJudge17.pas'; {$ENDIF} function ending(x: longint): string; begin x := x mod 100; if x div 10 = 1 then ending := 'th' else case x mod 10 of 1: ending := 'st'; 2: ending := 'nd'; 3: ending := 'rd'; else ending := 'th'; end; Var j, p, n: longint; begin n := 0; while not ans.seekeof do begin inc(n); j := ans.readlongint; p := ouf.readlongint; if j p then quit(_wa, inttostr(n) + ending(n) + ' numbers differ - expected: "' + inttostr(j) + '", found: "' + inttostr(p) + '"'); end; quit(_ok, inttostr(n) + ' numbers'); end. Чекер для программы, где результатом будетпоследовательность целых чисел, Например, значения элементов массива. Числа будут сравниваться пока не закончится файл с ответами или не совпадёт какое-либо значение.
Добавить чекер
Сохранить настройки
Проверить задачу на собственном решении
Выгрузить zip-файл
Отправить архив задачи по электронной почте
Спасибо за внимание!