Олимпиада открывается одновременно в Санкт-Петербурге и
Барнауле.
Современные средства связи позволяют организовать
видеоконференцию в момент открытия олимпиады и проводить основной тур в
реальном масштабе
времени одновременно в Барнауле и Санкт-Петербурге.
За более чем двадцатилетнюю историю чемпионата
сформировались
международные правила этих соревнований, в соответствии с которыми
команде, состоящей из трех участников, предоставляется один компьютер и
предлагается в
течении 5-6 часов решить максимальное число из предложенных задач. Количество задач обычно лежит
в диапазоне от 6 до 8. Побеждает команда, решившая наибольшее число задач, а в случае
равенства числа решенных задач - команда, затратившая меньше времени.
Характер традиционно предлагаемых
на соревнованиях задач предполагает,
что участники продемонстрируют свое мастерство как в искусстве алгоритмизации задач,
так и в реализации эффективных программ. В целом эти соревнования являются
интеллектуальным конкурсом, на котором участники могут продемонстрировать свои способности
в искусстве
программирования в его классическом понимании и который поддерживает традиции этой замечательной
области теоретической информатики.
По правилам соревнований задачи сформулированы на английском
языке, поэтому
участники могут приносить с собой и использовать англо-русские
словари. Чем
толще словарь, тем больше времени уходит на понимание задачи.
Для решения участникам предложены задачи, над составлением
которых работал
научный комитет олимпиады. Без преувеличения можно сказать, что
олимпиадные задачи - это жемчужины программирования, произведения искусства,
сплав современной
техники и математики.
Слаженная работа команды во время олимпиады - результат
упорных тренировок. Каждая команда применяет свою стратегию.
Можно решать все задачи вместе, начиная с простых и постепенно переходя к
сложным.
Многие команды применяют стратегию с разделением ролей
математика и
программиста.
По мере готовности команды посылают свои решения в жюри
для проверки.
Проверка представленных решений проводится во время соревнований.
Участники посылают решение в жюри с помощью специального программного
обеспечения. Решение проверяется путем запуска программы на наборе тестов,
который недоступен участникам и является одинаковым для всех команд.
Решение засчитывается в том случае, если оно выдает верные ответы на всех
тестах.
При получении отрицательного ответа от жюри команде надо найти ошибку в
решении.
Решая задачу команда оценивает время ее решения,
ищет подводные камни и
нетривиальные ситуации. Для того, чтобы подобрать хорошие тесты,
необходимо вчитываться в условие задачи, оценить время работы
алгоритма. Умение критически подойти как к собственной программе, так и
к программе
товарища по команде, многократно повышает качество
конечного продукта.
И, наконец, приходит сообщение от жюри, что задача принята. В этот
момент команда обычно запускает программу "Монитор", чтобы убедиться, что
они обошли своих ближайших соперников. Результаты динамически меняются во
время тура, поэтому у многих команд есть шанс хотя бы временно побывать на
пьедестале почета.
По традиции соревнований за каждую решенную задачу команда получает
цветной воздушный шарик. А пока шарики ожидают победителей...
Тренеры и руководители команд с трепетом наблюдают за показаниями
монитора во время соревнований, анализируют задачи.
И, наконец, настают последние минуты соревнований. Как в футболе
каждая команда стремится забить "гол престижа", так и на олимпиаде
каждая команда стремится решить хотя бы одну задачу. Поэтому на последних
минутах соревнований каждая команда пытается сдать решения задач, не
прошедших тестирование. Можно даже послать несколько версий одной задачи
- вреда это
уже не принесет, так как если задача не будет принята, то и штрафные очки
за нее не начислят.