“Battle Live”: ICPC finale u Portu

Danas Finale međunarodnog natjecanja u programiranju ICPC 2019. održat će se u portugalskom gradu Portu. Na njemu će sudjelovati predstavnici Sveučilišta ITMO te drugi timovi sa sveučilišta iz Rusije, Kine, Indije, SAD-a i drugih zemalja. Recimo vam detaljnije.

“Battle Live”: ICPC finale u Portu
icpcnews /flickr/ CC BY / Fotografije s finala ICPC-2016 u Phuketu

Što je ICPC

ICPC je međunarodno natjecanje studenata u programiranju. Održavaju se preko 40 godina – prvo finale bio sam davne 1977. godine. Odabir se provodi u nekoliko faza. Sveučilišta su podijeljena po regijama (Europa, Azija, Afrika, Amerika itd.). Svaki od njih domaćin je srednjih faza, posebno polufinala Sjeverne Euroazije održao na našem sveučilištu. U finalu sudjeluju pobjednici regionalnih etapa.

Na ICPC-u se od timova od tri sudionika traži da riješe niz problema koristeći jedno računalo (koje nije povezano s internetom). Tako se osim programerskih provjeravaju i vještine timskog rada.

Timovi Sveučilišta ITMO osvojili su glavnu nagradu ICPC-a sedam puta. Ovo je apsolutni rekord koji stoji već dugi niz godina. Oni će se sudariti u borbi za ICPC kup 2019 135 grupa sa svih strana planeta. Sveučilište ITMO ove godine predstavlja Ilja Poduremennih, Stanislav Naumov и Roman Korobkov.

Kako će se odvijati finale?

Tijekom natjecanja timovi dobit će jedno računalo za tri osobe. Pokreće Ubuntu 18.04 i ima predinstalirane vi/vim, gvim, emacs, gedit, geany i kate. Možete pisati programe u Pythonu, Kotlinu, Javi ili C++.

Kad tim riješi problem, prosljeđuje ga poslužitelju za testiranje koji procjenjuje kod. Sudionici ne znaju koje testove stroj izvodi. Ako su svi uspješni, tim dobiva bonus bodove. U suprotnom, generira se pogreška i studenti se šalju da isprave kod.

Prema ICPC pravilima pobjeđuje tim koji riješi najviše problema. Ako je više takvih ekipa, pobjednik se određuje prema najmanjem kaznenom vremenu. Za svaki riješeni problem sudionici dobivaju kaznene minute. Broj minuta jednak je vremenu od početka natjecanja do prihvaćanja zadatka od strane test poslužitelja. Ako tim pronađe rješenje, tada dobiva dodatnih dvadeset minuta kazne za svaki netočan pokušaj prolaska.

“Battle Live”: ICPC finale u Portu
icpcnews /flickr/ CC BY / Fotografije s finala ICPC-2016 u Phuketu

Primjeri zadataka

Ciljevi prvenstva zahtijevaju momčadsku uigranost i koncentraciju. Dodatno se provjerava poznavanje pojedinih matematičkih algoritama. Evo primjera zadatka koji je ponuđen sudionicima ICPC 2018:

U tipografiji postoji pojam "rijeka" - to je niz razmaka između riječi, koji se sastoji od nekoliko redaka teksta. Određeni stručnjak za rijeke (stvarno) želi objaviti knjigu. On želi da se najduže tipografske rijeke "formiraju" na stranici kada se ispisuje jednostrukim fontom. Sudionici su morali odrediti širinu polja na kojoj bi taj uvjet bio ispunjen.

Program je na ulazu dobio cijeli broj n (2 ≤ n ≤ 2) koji određuje broj riječi u tekstu. Zatim je upisan tekst: riječi u jednom retku bile su odvojene jednim razmakom i nisu mogle imati više od 500 znakova.

Na izlazu je program morao prikazati širinu polja na kojima se formira najduža "rijeka" i duljinu te rijeke.

Cijeli popis natrag od prošle godine i također rješenja za njih s objašnjenjima možete pronaći na web stranici ICPC-a. Ibid. postoji arhiva sa testovima, kojima su bili “izloženi” programi sudionika.

Dakle, danas poslijepodne na web stranici prvenstva i YouTube-kanale Bit će izravan prijenos s mjesta događaja. Dostupno sada snimanja prije nastupa.

Što još imamo na blogu na Habréu:

Izvor: www.habr.com

Dodajte komentar