Уже четвёртый год я являюсь членом жюри и системным администратором регионального этапа школьной олимпиады по информатике. В мои задачи входит подготовка всей информационной системы для автоматизированной проверки решений. Это настройка необходимого количества рабочих станций (по числу участников + резерв), а также установка и настройка сервера. Сервер необходим для централизованной проверки решений всех участников в ходе олимпиады. Работает это так: участник решает задачи по программированию и тестирует их локально. После того, как он убедится, что программа работает верно, он загружает исходный код решения на сервер с помощью веб-интерфейса. На сервере код автоматически компилируется и прогоняется на большом наборе тестов, неизвестных участникам.
Для серверной части я выбрал систему Contester. Однако он уже давно не обновлялся и поэтому ничего не знает о новых версиях компиляторов. К тому же, каждый год требования меняются. Также отсутствуют какие-либо возможности изменения работы алгоритмов тестирования. В этой статье я решил опубликовать свои конфигурационные файлы, а также поделиться методами итоговой проверки. Вся информация представленная в статье является открытой.
(далее…)
Подробнее