Bigfoot's ACM Contest System
BACS - Программный комплекс, предназначенный для проведения соревнований по спортивному программированию. Также может использоваться в учебном процессе для проверки лабораторных работ, связанных с программированием.
Основные возможности
Поддерживается архив задач, в котором хранятся условия задач, тесты, ограничения, проверяющие программы, и другая информация о задачах.
Гибкая система безопасности. Для каждого пользователя существует набор прав, который определяет такие возможности пользователя, как добавление задач, создание и администрирование контестов, управление сайтом и разделом объявлений, администрирование пользовательских аккаунтов.
Создание и проведение нескольких контестов одновременно. В ближайшем будущем будет реализована возможность проведения закрытых контестов, к которым имеют доступ только те пользователи, которые были указаны при создании контеста.
Распределенные сервера проверки. Несколько серверов проверки могут быть запущены на одном или нескольких компьютерах, что повышает надежность и общую производительность системы. Для более полной информации смотрите новости на сайте BACS.
Система вопросов и сообщений. В процессе проведения соревнования любой участник может задать жюри вопрос по условию задачи. Если жюри считает, что в условии задачи действительно есть какая-то неясность или неточность, то этот вопрос и ответ на него можно сделать видимым всем участникам соревнования. Также жюри может написать сообщение, которое будет видно всем участникам и может содержать информацию о задаче или о порядке проведения соревнования.
Легко интегрируемая поддержка разных языков программирования. В настоящее время поддерживаются такие языки, как Pascal (Delphi), C, C++. Планируется добавить поддержку Java, Perl, Python.
Расширенная информация о проверке. Для каждого решения можно посмотреть его автора, задачу, результат проверки с указанием номера теста, используемое время и объем памяти, сообщение компилятора об ошибке(при ошибке компиляции). Администраторы могут посмотреть текст решения и выдаваемый решением ответ на непройденном тесте, а также сами тесты к задаче через удобный веб-интерфейс.
Технические условия реализации
ОС: Windows 2003 Server
Web-сервер: PHP 5.1.1 IIS 6.0
БД-сервер: MySQL 5.0.16
Особенности реализации
Ядро системы написано на C++ с использованием Win32 API. В процессе проверки используются компиляторы MS Visual C++ 6.0, Borland Delphi 7.0. Таким образом, если на машине пользователя установлены эти компиляторы, он может быть уверен, что при проверке его программа будет работать точно так же, как и на локальной машине.