Air Penguins: даляцець да Таіланда

18 Dec, 2015.

чемпионат мира по программировании ACM ICPC AirPenguins БГУ

Каманда студэнтаў факультэта прыкладной матэматыкі і інфарматыкі БДУ ў складзе трэцякурснікаў Канстанціна Сокала, Аляксея Паліевіца, Паўла Шафцялевіча выйшла ў фінал чэмпіянату свету па праграмаванні ACM ICPC. Зборная БДУ паспяхова выступіла 5-6 снежня ў паўфінале гэтага спаборніцтва ў Санкт-Пецярбургу і заваявала дыплом 2 ступені. На яе рахунку 8 вырашаных задач з 12 прапанаваных. Фінальныя спаборніцтвы пройдуць у маі 2016 года ў г. Пхукет (Тайланд).

Вось, што нам расказалі юнакі пра сябе і сваё выступленне ў паўфінале.

— Як атрымалася, што вы заняліся спартыўным праграмаваннем? З чаго ўсё пачыналася, і як доўга вы ўдзельнічаеце ў падобных спаборніцтвах?

Канстанцін:

— Для мяне ўсё пачалося ў восьмым класе з думкамі пра паступленне на ФПМІ без іспытаў. Цікава аглядацца назад і ўспамінаць пра тыя матывацыі, якія першапачаткова заахвоцілі ўстаць з канапы і ўзяцца за вывучэнне алгарытмаў. Апошнія шэсць гадоў былі насычаны эмоцыямі, новымі знаёмствамі і незабыўнымі паездкамі, большасць з якіх, прама ці ўскосна, звязаны з алімпіядамі – усё гэта нашмат больш значнае і каштоўнае, чым першапачатковыя мэты, якія былі пастаўлены. Ніколі не ведаеш, куды прывядзе вандраванне, калі ў яго выпраўляешся.

— Што вам больш па душы: праграміст-адзіночка, ці ж вы аддаяце перавагу працу ў камандзе?

— Вядома, многае залежыць ад сітуацыі і ад таго, з кім даводзіцца працаваць. Што да спартыўнага праграмавання, то ў нас даволі вялікі досвед удзелу, як у асабістых спаборніцтвах, так і ў камандных. Цікавей удзельнічаць у камандных, ды і ёсць важны момант: часам усе памыляюцца і камандзе прасцей разам пераадолець праблему. Але з іншага боку, і адказнасць большая, бо твой промах можа апынуцца фатальным не толькі для цябе.

— Ці ёсць у вашай камандзе лідар? Наколькі мне вядома, у кожнай камандзе ў людзей розныя ролі: ёсць матэматыкі, якія прыдумляюць алгарытмы, а ёсць праграмісты, якія ўласна іх і рэалізуюць. А як усё гэта адбываецца ў вас?

— На алімпіядах па праграмаванні бываюць задачы на самыя розныя тэмы: ад рэалізацыі эфектыўных структур дадзеных, да рашэння дыферэнцыяльных ураўненняў. Зразумела, аднаму чалавеку няпроста пакрываць такі шырокі спектр задач, але балазе нас у камандзе трое. Складана сказаць, хто больш прыдумляе, таму што гэта напроста залежыць ад набору задач: на адным наборы тэматыкі могуць быць размеркаваны больш-менш раўнамерна, і кожны ўдзельнік каманды можа прыдумаць прыкладна аднолькавую колькасць задач, а іншы набор можа быць моцна перакошаны, і, як вынік, адказваць за ўсю каманду ў ідэйным плане прыйдзецца аднаму чалавеку. Вядома, мы рэгулярна трэніруемся, каб звесці верагоднасць другога зыходу да мінімуму, але часам здараецца і такое. Гэта што да прыдумванння задач.

Аднак прыдумаць рашэнне – гэта, напэўна, нават не палова справы, бо яе яшчэ трэба рэалізаваць на якой-небудзь папулярнай мове праграмавання, а потым, калі яна раптам не спрацуе – а часам так і адбываецца – трэба высветліць, у чым менавіта праблема, напрыклад, патэсціраваць ці ўважліва вычытаць код – і ліквідаваць яе. У нашай камандзе код пішам я і Паша. Па вялікіх святах і Лёша падцягваецца. Што да адладкі, то часта код адладжваецца яго аўтарам разам з Лёшам, у той час як вольны ўдзельнік каманды заняты рашэннем іншай задачы.

чемпионат мира по программировании ACM ICPC AirPenguins БГУ

— А талісман у вас ёсць?

— Так атрымалася, што мы гуляем у адной камандзе яшчэ са школы, гэта значыць ужо больш за 4 гады. Усе гэтыя гады ў нашай каманды адна назва AirPenguins. Кожны год мы робім сабе каляровыя майкі з вялікім лагатыпам якога-небудзь пацешнага пінгвіна.

Гэтыя майкі і ёсць наш талісман: мы верым, што яны прыносяць нам поспех. Ды і яны проста ўсім падабаюцца.

— Калі вы бачыце, што некаторыя каманды вас абганяюць па колькасці задач, якой тактыкі вы прытрымваецеся? Што вы адчуваеце ў гэты момант?

— Са станоўчых бакоў такой сітуацыі варта адзначыць тое, што з’яўляюцца задачы, якія ўжо здадзены іншымі камандамі: эмацыйна нашмат прасцей брацца за рашэнне той задачы, якая была ўжо вырашана кімсьці іншым. Я б сказаў, што ў нашай камандзе над 70% задач пачынаецца праца толькі тады, калі становіцца вядома, што задача ўжо здадзена. Гэта даволі істотны трыгер. Вядома, часам гэта можа згуляць злы жарт: напрыклад, у задачы можа быць вельмі кароткае рашэнне, якое тым не менш неверагодна складана прыдумаць, і, здаўшы такую задачу, каманда заахвоціць сваіх канкурэнтаў узяцца за яе і, магчыма, безвынікова страціць на гэтым нямала часу. Звычайна рэакцыі ўзроўню “Ох ты ж! Нас абыходзяць на задачу!” праходзяць з досведам удзелу – становіцца зразумела, што лепш факусавацца на задачах і на тым, як іх вырашаць, а не марнаваць эмоцыі на неканструктыўную злосць. Хоць часам бывае складана ўтрымаць эмоцыі ў аброці нават пасля доўгіх гадоў трэніровак.

— Ці ўзнікаюць канфліктныя сітуацыі ў вашай камандзе падчас чэмпіянату, і як вы спрабуеце іх дазволіць?

— Я не магу ўспомніць нейкіх канфліктаў усярэдзіне каманды, асабліва падчас чэмпіянатаў. Мы добра сябруем па-за алімпіядамі і вучобай. Вядома, часам сітуацыі падчас спаборніцтваў бываюць напружаныя і нервовыя, але ўсе гэта разумеюць і даўно на гэта не зважаюць. Але, бывае, узнікаюць цяжкасці на этапе падрыхтоўкі, асабліва калі трэба пісаць шмат камандных трэніровак, прысвячаць гэтаму шмат часу. Усім адначасова складана вызваліцца ад сваіх спраў. Часцяком даводзіцца пераконваць і дысцыплінаваць адзін аднаго, з-за гэтага бывалі непрыемныя для ўсіх размовы. Але гэта дробязі.

— Які самы высокі вынік, якога дамаглася ваша каманда? У якіх спаборніцтвах вы ўжо паспелі паўдзельнічаць, і якія больш за ўсё запомніліся?

— Думаю, выхад на фінал можна лічыць нашым самым істотным дасягненнем за апошнія гады. Мы не хапаем зорак з неба, але тым не менш нам перыядычна ўдаецца праходзіць на фіналы цікавых спаборніцтваў: так, у чэрвені мы ездзілі на фінал алімпіяды Challenge24, які праходзіў у Будапешце і працягваўся на працягу 24 гадзін. Калі-небудзь вы пісалі код 24 гадзіны запар? Гэта было весела, паспрабуйце.

— Што самае складанае, на ваш погляд, у спартыўным праграмаванні?

— Складана сказаць. Як і ў любой дзейнасці, тут для атрымання выніку трэба ўкладваць шмат часу і высілкаў. Пры гэтым шмат чаго можа залежаць ад шанцавання ў дзень спаборніцтва, задач і фактараў, якія не залежаць ад цябе. Таму можна не атрымаць жаданага, нават шмат папрацаваўшы. Ёсць сусветна вядомыя ў спартыўным праграмаванні ўдзельнікі, якім так і не атрымалася з’ездзіць на фінал чэмпіянату свету, таму што ў іх апошнім паўфінале адбываліся неймаверныя рэчы, і ў фінал выходзіла самая слабая каманда іх універсітэта, якая ні разу нават блізка не абыходзіла найдужэйшую на трэніроўках.

— Што вам даюць новыя спаборніцтвы: гэта магчымасць задумацца над раней не вывучанымі задачамі, гэта новыя знаёмствы ці гэта нейкія іншыя нязведаныя ўражанні?

— Гэта магчымасць разнастаіць жыццё. У апошнія гады, як ужо казаў вышэй, самыя яркія падзеі звязаны наўпрост з алімпіядамі ці з’яўляюцца іх вынікам.

— А вы ўжо працуеце? Што вас больш прыцягвае: праца ў фірме ці навуковая дзейнасць?

Канстанцін:

— Гэтым летам я праходзіў стажыроўку ў замежнай кампаніі, аднак цяпер, у навучальны час, не працую. Навуковая дзейнасць, здаецца, не пра мяне, так што з дзвюх я б абраў працу ў фірме.

— Ці дапамагаюць вам навыкі, атрыманыя падчас розных кантэстаў, на працы ці падчас вучобы?

— Мне здаецца, што навыкі, атрыманыя на алімпіядах, неацэнныя ў плане псіхалогіі: уменне пераадольваць хваляванне, збірацца ў патрэбны момант, хутка шукаць выйсце са складанай сітуацыі, калі застаюцца лічаныя хвіліны.

У вучобе дапамагала, асабліва на малодшых курсах, калі большасць матэрыялу па праграмаванні, алгарытмах і дыскрэтнай матэматыцы была добра знаёмая і можна было нічога не рабіць, у той жа час атрымліваючы добрыя адзнакі. Пра праграмаванне існуе шмат гарачых спрэчак на тэму таго, а ці дапамагае спартыўнае праграмаванне ў рэальнай распрацоўцы. Многія сцвярджаюць, што алімпіяднікі прывыклі пісаць дрэнны код, ды і ім нецікава працаваць над больш стандартнымі задачамі, дзе трэба больш высілкаў, чым кемлівасці. Але ўсё ж большасць схіляецца да таго, што алімпіяды даюць карысныя навыкі, у тым ліку ўменне хутка разбірацца з новымі і складанымі рэчамі, а таму алімпіяднік лёгка можа навучыцца і працаваць добра. Той факт, што некаторыя буйныя кампаніі накшталт Google і Facebook даволі актыўна клічуць алімпіяднікаў высокага ўзроўню на інтэрв’ю, а адсотак былых спартыўных праграмістаў у гэтых кампаніях вялікі, ускосна пацвярджае гэты факт.

— Ваш улюбёны прадмет ва ўніверсітэце, ці звязаны ён з праграмаваннем?

Канстанцін:

— Падумаў дзесяць секунд – ніводны варыянт на розум не прыйшоў. Значыць, няма такіх. Не назваў бы сябе ўзорным студэнтам. Алімпіяды мяне займаюць і цікавяць значна больш, чым вучоба ва ўніверсітэце. Усе кантрольныя і іспыты імкнуся пісаць як след, але эмацыйнага трапятання і прыхільнасці да іх не адчуваю і вялікіх спадзяванняў не ўскладаю.

— Як вы думаеце ў параўнанні з іншымі краінамі, наколькі ў Беларусі развітае каманднае праграмаванне? (вы можаце нават гэтага не ведаць) Ці высокі ўзровень падрыхтоўкі ў нашых студэнтаў?

Павел:

— Беларусь годна выступае на спаборніцтвах па праграмаванні, у нас шмат моцных удзельнікаў і дасягненняў. Амаль заўсёды такія ўдзельнікі вырастаюць са школьнікаў, якія проста працягваюць займацца ва ўніверсітэце. Але многія з’язджаюць вучыцца ў Расію і выступаюць там за расійскія ўніверсітэты. Напрыклад, у складзе каманды МФТІ, якая заняла на мінулым паўфінале трэцяе месца, мой аднакласнік і сябар Арцём, які ў школе 3 разы ездзіў ад Беларусі на міжнародную алімпіяду па матэматыцы.

— Чаго вы чакаеце ад фіналу?

— Спадзяёмся, што падыдзем да фіналу ў поўнай гатоўнасці і зможам паказаць усё, на што здольныя. Вядома, мае быць сур’ёзная падрыхтоўка. Плануем на яе выдаткаваць каля трох месяцаў. На фінале, можна не сумнявацца, будзе вялікая колькасць прэтэндэнтаў на медалі і каманда БДУ будзе далёка не фаварытам, але мы прыкладзём максімум высілкаў для таго, каб выступіць годна.

— Што б вы параілі тым, хто хоча паспрабаваць сябе ў спартыўным праграмаванні?

— Для пачатку пачытаць умовы задач. Гатовы паспрачацца, што вы больш нідзе не знойдзеце задач пра прыладу, якая есць баброў ці палічыць верагоднасць таго, што акула з’есць п’янага матроса. А калі сур’ёзна, то трэба пачынаць з рашэння простых задач, а потым усё больш складаных, і атрымліваць задавальненне ад працэсу. Момант, калі ты ўсведамляеш, як вырашаць задачу, над якой доўга ламаў галаву, ні з чым не параўнальны.

Вольга БОНДАРАВА

Photographer: Ilya Safarov

Photographer: Ilya Safarov

 

 

print

Вам таксама можа спадабацца: