„Battle Live“: finále ICPC v Porte

Dnes V portugalskom meste Porto sa bude konať finále medzinárodnej programátorskej súťaže ICPC 2019. Zúčastnia sa ho zástupcovia ITMO University a ďalších tímov z univerzít z Ruska, Číny, Indie, USA a ďalších krajín. Povedzme si to podrobnejšie.

„Battle Live“: finále ICPC v Porte
icpcnews /Flickr/ CC BY / Fotografie z finále ICPC-2016 v Phukete

Čo je ICPC

ICPC je medzinárodná súťaž v programovaní medzi študentmi. Konajú sa už viac ako 40 rokov - prvé finále bol som ešte v roku 1977. Výber sa uskutočňuje v niekoľkých etapách. Univerzity sú rozdelené podľa regiónov (Európa, Ázia, Afrika, Amerika atď.). V každom z nich sa konajú medzistupne, najmä semifinále severnej Eurázie sa konala na našej univerzite. Finále sa zúčastňujú víťazi krajských etáp.

Na ICPC sú trojčlenné tímy požiadané, aby vyriešili množstvo problémov pomocou jedného počítača (bez pripojenia na internet). Okrem programátorských zručností sa teda testujú aj schopnosti tímovej práce.

Univerzitné tímy ITMO získali hlavnú cenu ICPC sedemkrát. Ide o absolútny rekord, ktorý trvá už mnoho rokov. Narazia na seba v boji o ICPC Cup 2019 135 skupín z celej planéty. Univerzitu ITMO tento rok zastupuje Iľja Poduremennykh, Stanislav Naumov и Roman Korobkov.

Ako bude finále prebiehať?

Počas súťaže tímy dostane jeden počítač pre tri osoby. Beží na ňom Ubuntu 18.04 a má predinštalované vi/vim, gvim, emacs, gedit, geany a kate. Programy môžete písať v jazykoch Python, Kotlin, Java alebo C++.

Keď tím vyrieši problém, pošle ho na testovací server, ktorý vyhodnotí kód. Účastníci nevedia, aké testy stroj vykonáva. Ak sú všetky úspešné, tím získava bonusové body. V opačnom prípade sa vygeneruje chyba a študenti sú poslaní opraviť kód.

Podľa pravidiel ICPC vyhráva tím, ktorý vyrieši najviac problémov. Ak je takýchto tímov niekoľko, víťaza určí najmenší trestný čas. Za každý vyriešený problém dostanú účastníci trestné minúty. Počet minút sa rovná času od začiatku súťaže do prijatia úlohy testovacím serverom. Ak tím nájde riešenie, dostane ďalších dvadsať minút trestu za každý nesprávny pokus o prihrávku.

„Battle Live“: finále ICPC v Porte
icpcnews /Flickr/ CC BY / Fotografie z finále ICPC-2016 v Phukete

Vzorové problémy

Ciele šampionátu si vyžadujú tímovú koordináciu a koncentráciu. Okrem toho testujú znalosti jednotlivých matematických algoritmov. Tu je príklad úlohy, ktorá bola ponúknutá účastníkom ICPC 2018:

V typografii existuje pojem „rieka“ - ide o postupnosť medzier medzi slovami, ktorá sa skladá z niekoľkých riadkov textu. Istý odborník na rieky (naozaj) chce vydať knihu. Chce, aby sa na stránke pri tlači s jednoliatym písmom „vytvorili“ najdlhšie typografické rieky. Účastníci museli určiť šírku polí, pri ktorých bude táto podmienka splnená.

Na vstupe program dostal celé číslo n (2 ≤ n ≤ 2 500), ktoré určuje počet slov v texte. Ďalej bol zadaný text: slová na jednom riadku boli oddelené jednou medzerou a nemohli pozostávať z viac ako 80 znakov.

Na výstupe mal program ukázať šírku polí, na ktorých sa tvorí najdlhšia „rieka“ a dĺžku tejto rieky.

Celý zoznam späť od minulého roka a tiež ich riešenia s vysvetleniami nájdete na webovej stránke ICPC. Tamže. existuje archív s testami, ktorému boli „vystavené“ programy účastníkov.

Takže dnes poobede na stránke šampionátu a kanál YouTube Z miesta činu bude priamy prenos. Teraz dostupné nahrávky pred vystúpením.

Čo ešte máme na blogu na Habré:

Zdroj: hab.com

Pridať komentár