Студенти прикладної математики ЛНУ імені І.Франка отримали бронзу на чемпіонаті світу з програмування у Таїланді. Це найпрестижніші змагання з алгоритмічного програмування у світі, де за п'ять годин учасники повинні розв'язати понад 10 завдань з реального життя. Вони визначають місця найбільших покладів нафти, пишуть програми для прокладання найкоротшої дороги для екскурсії, вираховують кількість солодощів на день для людини з низьковуглеводною дієтою. У чемпіонаті беруть участь більше 13 тисяч команд.
Цього року львівську команду обігнали тільки університети Санкт-Петербурга, Варшави, Шанхаю, Гарварду та Массачусетсу. ZAXID.NET розпитав учасників команди LNU Penguins, що треба зробити, аби стати успішним математиком.
***
«Все починається зі школи. Школярі, які беруть участь у олімпіадах з інформатики, фізики та математики пізніше мають успіх у алгоритмічному програмуванні. Учасники цьогорічної команди, до прикладу, брали участь у таких шкільних олімпіадах і займали перші місця», – пояснює тренер команди LNU Penguins Василь Білецький.
Команда LNU Penguins під час нагородження на чемпіонаті
Василь раніше теж був учасником команди «пінгвінів», тепер він тренує молодших колег.
Команада Penguins відома насамперед через те, що привозить призові місця з найвідомішого у світі чемпіонату зі спортивного програмування ACM-ICPC, де беруть участь майже три тисячі університетів.
«Усі нормальні студенти прикладної математики мріють потрапити у команду», – пояснює учасник LNU Penguins Віталій Герасимів, який нещодавно повернувся з турніру у Таїланді.
Як знайти математика
Початок набору команди хлопці порівнюють за підбором гравців у футболі. Коли закінчується чемпіонат, розпочинається трансфер, саме у цей час формується команда для гри у наступному сезоні.
«Згідно з правилами чемпіонату команда повинна складатися з трьох учасників, які представляють один університет. Кожен студент може двічі взяти участь у змаганнях. Гравець не може бути страшим 24 років», – розповідає Тарас Савіцький, цьогорічний учасник LNU Penguins.
Зліва на право: Тарас Савіцький, Василь Білецький (тренер), Віталій Герасимів, Роман Білий
На факультеті прикладної математики є гурток алгоритмічного програмування, саме там збираються разом майбутні учасники команди «пінгвінів». Спочатку це виглядає як хобі, пізніше воно забирає увесь час математиків.
«До речі, у грі можуть брати участь і дівчата, але більшість учасників все-таки – хлопці. В Одесі була команда винятково з дівчат, які презентували Одеський національний університет, вони завжди викликали захват у аудиторії. Цього разу Україну представляла на чемпіонаті одна дівчина у складі команди Запорізького національного університету», – пояснює тренер команди.
Симуляція гри
Специфіка змагань полягає у тому, що гравці мають дуже злагоджено працювати разом. Існує багато індивідуальних змагань, але переможці таких випробувань часто показують низькі результати у командній грі.
Згідно з правилами чемпіонату в часників є один комп’ютер, стіл, набір завдань та 5 годин на їхній розв'язок.
«Учасники можуть змінювати один одного за комп’ютером. Двоє можуть думати над одним завданням, а третій – над іншим. У цьому форматі родзинкою є те, що команда має працювати як одне ціле. Якщо команда добре підібрана – це половина успіху», – вважає тренер Василь Білецький.
За кілька місяців до чемпіонату хлопці проводили щонайменше 5 годин разом, аби симулювати умови змагання.
«Ми збиралися вдома у Тараса, нам усім було зручно до нього приїжджати. Зізнаюся, що ми інколи робили вихідні, але рідко. Але якщо ми не змогли розв’язати задачу за п’ять годин, то залишалися і розв’язували її окремо», – розповідає Роман Білий, учасник команди.
Останній етап тренувань проводять у країні змагань. Щороку чемпіонат проводять у іншій країні, торік це було Марокко.
Цього року хлопці прилетіли у Таїланд за 10 днів до змагань, аби звикнути до часового поясу. Щодня намагалися розпочати гру у той же час, що і на чемпіонаті.
Віталій Герасимів під час чемпіонату у 2015 році у Марокко
«В перший день нічого не вийшло, хлопці проспали. Потім виникла ще одна проблема: усі хотіли швидше закінчити тренування, щоб бігти скупати у морі», – сміється тренер.
Роман розповідає, що цього року, як і минулого, йому попалася задача про нафтові поклади. В умовах були закладені відрізки з покладами і треба розрахувати як пробурити свердловину, аби отримати найбільшу кількість нафти. Завдання грунтується на реальних даних, розв'язок пізніше зможуть використовувати на практиці.
«У вас іще була задача, де треба розрахувати скільки солодощів можна з'їсти людині на низьковуглеводній дієті», – запитую учасників команди.
Хлопці переглядаються між собою.
«Чесно кажучи, ми майже не пам’ятаємо про що завдання, ми відразу бачимо їх як алгоритм», – пояснює Роман.
Таке ж здивування у хлопців викликало запитання про вільний час.
«Насправді у нас давно не було вільного часу, з листопада до травеня шість днів на тиждень ми проводило разом у п'ятигодинній симуляції гри. Тепер, коли гра позаду, я б може подивився серіал, але наразі не знаю жодних про розв’язування алгоритмічних задач», - коментує Роман.
Спонсори для «пінгвінів»
Грошей на підготовку команди до поїздки, як і на саму подорож, в університеті немає. Тому одне із завдань тренера – знайти спонсорів, які готові підтримати студентів.
«Ми шукаємо різні джерела фінансування. Щоб показати хороший результат треба тренуватися увесь рік, брати участь у тренувальних змаганнях у різних куточках світу», - розповідає тренер.
LNU Penguins в Таїланді
Спонсорів шукають серед ІТ-компаній, оскільки вони розуміють суть цих змагань. Зазвичай вони нічого не вимагають, але інколи можуть попросити загадати їхнє ім’я, вдягти футболку з логотипом, коли команда отримає високі результати. Іще один бонус від спонсорів – вакансії для переможців. Часто учасникам пропонують роботу у компаніях ІТ.
Окрім мандрівки для «пінгвінів», тренер дбає і за команду підтримки. Цього року в Таїланд полетіли ще шестеро фанів.
«Це як ультрас на футболі. Вони шаленіють на трибунах, кричать ваші імені, нагадають вам, що треба вигравати», – каже тренер Василь Білецький.
Фіналістам чемпіонату вручають грошову нагороду. Для бронзових призерів – це майже 100 тисяч гривень. Щоправда самі математики запевняють, що це зовсім не головне, найголовніше для них у цій грі – здобутий престиж. Кожна ІТ – компанія в Україні хотіла б мати у команді фіналіста світового чемпіонату з програмування.