Команда студентов Института математики, информационных и космических технологий дошла до финала в самом престижном соревновании всех программистов — Международном командном чемпионате по программированию ACM/ICPC. За право получить путёвку в финал и уже весной отправиться в Тайланд команда Ивана Поповича, Алексея Чеснокова и Владимира Додина под руководством ассистента кафедры информатики и информационной безопасности Кирилла Бутина состязалась в полуфинале чемпионата в Санкт-Петербурге. Иван Попович рассказал AV, как это было.
ACM/ICPC — крупнейшая мировая студенческая олимпиада по программированию.
— Студенческий чемпионат мира по программированию проводится с 1977 года, но до 1989 года преимущественно участвовали лишь команды США и Канады. В финал отбираются команды с различных региональных полуфиналов: от одного вуза ─ не более одной команды. Состав команды ─ три человека. Нашему полуфиналу NEERC (Северо-восточная часть Европы) исполнилось 20 лет, — рассказывает об истории чемпионата Иван Попович.
Согласно регламенту на команду выдаётся один компьютер и 12 задач на английском языке. Уровень задач: от самых простых до повышенной сложности. Команды пишут решения на языках программирования и отправляют их на сервер.
— Естественно, на выдаваемых ноутбуках нет выхода в интернет, нельзя пользоваться никакими электронными устройствами. Разрешён лишь англо-русский словарь, — поясняет Иван.
У команды пять часов на то, чтобы успеть перевести задачу, понять её и сформулировать решение.
Студентам САФУ удалось дойти до финала не с первого раза, два года назад ребята сорвались на полуфинале.
Однако целеустремленность, постоянные тренировки и слаженная работа помогли команде добиться желаемого результата.
— Для нашей команды это состязание было самым важным. Алексей участвовал последний пятый раз, а для меня это участие предпоследнее. Именно в этом году шансы на выход в финал были максимальны, но в тоже время достаточно скромны. Сейчас мы отдыхаем, но скоро продолжим тренировки к финалу, — говорит Иван.
Очень важную роль в тренировках играет самостоятельная подготовка. Алексей Чесноков и Иван Попович олимпиадным программированием занимаются уже более пяти лет! Не менее трёх часов в день индивидуальных занятий плюс три раза в неделю пятичасовые командные тренировки в том же формате, что и соревнования.
— Для слаженной работы в команде нужно время, чтобы привыкнуть друг к другу, — утверждает Иван. — У нас с Алексеем это получилось очень хорошо. Наш третий участник, Владимир был переводчиком. Его роль была сократить для нас время перевода и вычитывания сути задач.
Путь к выходу в финал для студентов ИМИКТ оказался долгим, но без внезапных трудностей. Зачастую неверное понимание условия задачи отнимает у команды много времени, а порой даже незаметная опечатка в решении при кодировании может стоить времени, которого потом не хватит на другие задачи. Это удалось избежать. Но эмоциональное напряжение иногда доходило до предела...
— С точки зрения эмоций — это было нечто! За час до конца соревнований мы занимали 21 позицию. Далее таблица становилась невидна участникам. Каждый знал только о своих верных или неверных попытках сдать задачу. Очень трудно за пять минут до конца отбросить мысли и панику, что мы ничего не успеваем и успеть сдать эту задачу. Я предложил идею решения, Алексей писал программу наспех. О том, что мы вышли в финал нам сообщили лишь через пару дней. Тогда же мы узнали, что задача была решена верно, — вспоминает Иван.
Выход в финал чемпионата такого масштаба стал одним из знаковых событий в Архангельской области.
Команда студентов САФУ вошла в число 12 лучших команд России и уже готовится показать свои силы всему миру.
Успешное участие в полуфинале для ребят обеспечило и шанс получить вакансию в мировых IT-корпорациях:
— Выход в финал чемпионата мира, как правило, позволяет потом без проблем найти работу в таких гигантах как Google, Yandex, Mail и так далее. А это само по себе большое достижение! Пока я планирую в одной из архангельских IT-фирм получить опыт работы, а в дальнейшем найти себе работу в тех же IT-гигантах, где могут быть востребованы мои навыки как олимпиадного программиста.