hjoed De finale fan 'e ynternasjonale programmearkompetysje ICPC 2019 wurdt hâlden yn' e Portugeeske stêd Porto. Fertsjintwurdigers fan ITMO University en oare teams fan universiteiten yn Ruslân, Sina, Yndia, de FS en oare lannen sille dêrmei meidwaan. Litte wy jo yn mear detail fertelle.
icpcnews /flickr/ CC BY / Foto's fan 'e ICPC-2016 finale yn Phuket
Wat is ICPC
ICPC is in ynternasjonale programmearkompetysje ûnder studinten. Se wurde holden foar mear as 40 jier - de earste finale foarby werom yn 1977. De seleksje wurdt útfierd yn ferskate stadia. Universiteiten wurde ferdield troch regio (Jeropa, Aazje, Afrika, Amearika, ensfh.). Elk fan harren organisearret tuskenstadia, benammen de heale finales fan Noard-Eurazië fûn plak op ús universiteit. De winners fan de regionale etappes dogge mei oan de finale.
By ICPC wurde teams fan trije dielnimmers frege om in tal problemen op te lossen mei ien kompjûter (net ferbûn mei it ynternet). Sa wurde njonken programmearringfeardigens ek teamwurkfeardigens hifke.
Tidens de kompetysje, teams sil ien kompjûter krije foar trije persoanen. It rint Ubuntu 18.04 en hat vi/vim, gvim, emacs, gedit, geany en kate foarôf ynstalleare. Jo kinne programma's skriuwe yn Python, Kotlin, Java of C++.
As in team in probleem oplost, stjoert it it troch nei de testtsjinner, dy't de koade evaluearret. Dielnimmers witte net hokker tests de masine docht. As se allegear suksesfol binne, krijt it team bonuspunten. Oars wurdt in flater oanmakke en wurde studinten stjoerd om de koade te korrigearjen.
Neffens ICPC-regels wint it team dat de measte problemen oplost. As der ferskate ploegen binne, dan wurdt de winner bepaald troch de lytste straftiid. Dielnimmers krije strafminuten foar elk oplost probleem. It oantal minuten is gelyk oan de tiid fan it begjin fan 'e konkurrinsje oant de akseptaasje fan' e taak troch de testtsjinner. As it team in oplossing fynt, dan krijt it nochris tweintich minuten penalty foar elke ferkearde poging om it troch te jaan.
icpcnews /flickr/ CC BY / Foto's fan 'e ICPC-2016 finale yn Phuket
Task foarbylden
De doelstellingen fan it kampioenskip fereaskje teamkoördinaasje en konsintraasje. Derneist testen se kennis fan yndividuele wiskundige algoritmen. Hjir is in foarbyld fan in taak dy't waard oanbean oan ICPC 2018-dielnimmers:
Yn typografy is der in term "rivier" - dit is in folchoarder fan spaasjes tusken wurden, dy't wurdt foarme út ferskate rigels fan tekst. In bepaalde rivierkenner wol (echt) in boek útjaan. Hy wol dat de langste typografyske rivieren "foarmje" op 'e side by it printsjen yn monospaced lettertype. Dielnimmers moasten de breedte fan de fjilden bepale dêr't oan dizze betingst foldien wurde soe.
By de ynfier krige it programma in hiel getal n (2 ≤ n ≤ 2), dat it oantal wurden yn de tekst bepaalt. Dêrnei waard de tekst ynfierd: wurden op ien rigel waarden skieden troch ien spaasje en mochten net mear as 500 tekens bestean.
By de útfier moast it programma de breedte sjen litte fan 'e fjilden dêr't de langste "rivier" foarme wurdt, en de lingte fan dizze rivier.