„Battle Live”: Finala ICPC la Porto

Azi Finalele competiției internaționale de programare ICPC 2019 vor avea loc în orașul portughez Porto Reprezentanți ai Universității ITMO și alte echipe din universități din Rusia, China, India, SUA și alte țări. Să vă spunem mai detaliat.

„Battle Live”: Finala ICPC la Porto
icpcnews /Flickr/ CC BY / Fotografii de la finala ICPC-2016 de la Phuket

Ce este ICPC

ICPC este o competiție internațională de programare între studenți. Se desfășoară de peste 40 de ani - prima finală a trecut în 1977. Selecția se realizează în mai multe etape. Universitățile sunt împărțite pe regiuni (Europa, Asia, Africa, America etc.). Fiecare dintre ele găzduiește etape intermediare, în special semifinalele din Eurasia de Nord a avut loc la universitatea noastră. Câștigătorii etapelor regionale participă la finală.

La ICPC, echipele de trei participanți sunt rugate să rezolve o serie de probleme folosind un singur computer (neconectat la Internet). Astfel, pe lângă abilitățile de programare, sunt testate și abilitățile de lucru în echipă.

Echipele Universității ITMO au câștigat de șapte ori premiul principal ICPC. Acesta este un record absolut care a rezistat de mulți ani. Se vor ciocni în lupta pentru Cupa ICPC 2019 135 de grupuri din întreaga planetă. Universitatea ITMO este reprezentată anul acesta de Ilya Poduremennykh, Stanislav Naumov и Roman Korobkov.

Cum va avea loc finala?

În timpul competiției, echipele va primi un computer pentru trei persoane. Rulează Ubuntu 18.04 și are vi/vim, gvim, emacs, gedit, geany și kate preinstalate. Puteți scrie programe în Python, Kotlin, Java sau C++.

Când o echipă rezolvă o problemă, o trimite către serverul de testare, care evaluează codul. Participanții nu știu ce teste efectuează aparatul. Dacă toate au succes, echipa primește puncte bonus. În caz contrar, se generează o eroare și elevii sunt trimiși să corecteze codul.

Conform regulilor ICPC, câștigă echipa care rezolvă cele mai multe probleme. Dacă există mai multe astfel de echipe, atunci câștigătorul este determinat de cel mai mic timp de penalizare. Participanții primesc minute de penalizare pentru fiecare problemă rezolvată. Numărul de minute este egal cu timpul de la începutul competiției până la acceptarea sarcinii de către serverul de testare. Dacă echipa găsește o soluție, atunci primește încă douăzeci de minute de penalizare pentru fiecare încercare greșită de a o depăși.

„Battle Live”: Finala ICPC la Porto
icpcnews /Flickr/ CC BY / Fotografii de la finala ICPC-2016 de la Phuket

Exemple de sarcini

Obiectivele campionatului necesită coordonarea și concentrarea echipei. În plus, ei testează cunoștințele despre algoritmi matematici individuali. Iată un exemplu de sarcină care a fost oferită participanților ICPC 2018:

În tipografie, există un termen „râu” - aceasta este o secvență de spații între cuvinte, care este formată din mai multe rânduri de text. Un anume expert în râu (pe bune) vrea să publice o carte. El dorește ca cele mai lungi râuri tipografice să se „formeze” pe pagină atunci când imprimă cu font monospațial. Participanții au trebuit să determine lățimea câmpurilor la care va fi îndeplinită această condiție.

La intrare, programul a primit un număr întreg n (2 ≤ n ≤ 2), care determină numărul de cuvinte din text. În continuare, a fost introdus textul: cuvintele de pe un rând erau separate printr-un spațiu și nu puteau avea mai mult de 500 de caractere.

La ieșire, programul trebuia să arate lățimea câmpurilor la care se formează cel mai lung „râu” și lungimea acestui râu.

Lista completă înapoi de anul trecut si de asemenea solutii la acestea cu explicatii poate fi găsit pe site-ul ICPC. Ibid. exista o arhiva cu teste, la care au fost „expuse” programele participanților.

Deci în după-amiaza asta pe site-ul campionatului și Canalul canalului YouTube Va fi o transmisie în direct de la fața locului. Disponibil acum înregistrări înainte de spectacol.

Ce mai avem pe blogul de pe Habré:

Sursa: www.habr.com

Adauga un comentariu