Существуют различные способы проверки решений задач участников олимпиады по программированию. Если по условию задачи ее решением должна быть программа или файлы с выходными данными для заданных входных данных, то в настоящее время все большее распространение находит использование программных систем с автоматической проверкой решений задач участников соревнований. При проверке решений задач участников соревнований с использованием специализированной программной среды соревнований процесс предварительной проверки осуществляется в течение тура по мере посылки решений на сервер соревнований.
Contester – это система для проведения турниров и индивидуального решения задач по олимпиадному программированию (спортивному программированию), которая содержит условия олимпиадных задач и возможность проверки решений на большинстве современных языков [1]. Дистанционная система Contester предназначена для образовательных целей. Данную программу можно скачать бесплатно с официального сайта contester.ru. Система Contester автоматически распознает компиляторы языков программирования, которые установлены на данном компьютере.
После того, как участник олимпиады отправит программу решения олимпиадной задачи на проверку в системе Contester, исходный код программы компилируется. Система Contester начинает запускать чекер (проверяющую программу) на каждом тесте по очереди, подставляя файл input.txt (входные данные теста). После каждого запуска генерируется файл output.txt с решением. Для определения правильности решения Contester сравнивает значение файла output.txt со значением эталона, которое хранится в файле pattern.txt. Результат тестирования пересылается обратно участнику олимпиады. Таким образом, чекеры позволяют для каждой задачи определять правильность полученного решения в автоматическом режиме.