Live Battle: Porto ICPC Finale

In der portugiesischen Stadt Porto findet heute das Finale der internationalen Programmierwettbewerbe ICPC 2019 statt. Vertreter der ITMO University und anderer Teams von Universitäten in Russland, China, Indien, den USA und anderen Ländern werden daran teilnehmen. Wir werden es genauer erzählen.


icpcnews / Flickr / CC BY / Foto vom Finale der ICPC-2016 in Phuket

Was ist ICPC?


ICPC ist ein internationaler Programmierwettbewerb für Studenten. Sie finden seit mehr als 40 Jahren statt - das erste Finale fand 1977 statt. Die Auswahl erfolgt in mehreren Schritten. Die Universitäten sind nach Regionen unterteilt (Europa, Asien, Afrika, Amerika usw.). In jedem von ihnen sind Zwischenstufen angeordnet, insbesondere das Halbfinale von Nord-Eurasien wurde an unserer Universität abgehalten . Die Gewinner der regionalen Etappen nehmen am Finale teil.

Bei ICPC sind Teams mit drei Teilnehmern, die einen Computer verwenden (nicht mit dem Internet verbunden), eingeladen, eine Reihe von Problemen zu lösen. So werden neben Programmierkenntnissen auch Teamfähigkeit getestet.

Die Teams der ITMO-Universität haben sieben Mal den ICPC-Hauptpreis gewonnen. Dies ist ein absoluter Rekord, der seit vielen Jahren gehalten wird. Im Kampf um den ICPC 2019 Cup treffen 135 Teams aus aller Welt aufeinander . In diesem Jahr wird die ITMO-Universität von Ilya Podurerenykh , Stanislav Naumov und Roman Korobkov vertreten .

Wie wird das Finale verlaufen?


Während des Wettbewerbs erhalten die Teams einen Computer für drei. Es läuft unter Ubuntu 18.04 und hat die Editoren vi / vim, gvim, emacs, gedit, geany und kate vorinstalliert. Sie können Programme in Python, Kotlin, Java oder C ++ schreiben.

Wenn das Team das Problem löst, sendet es es an den Testserver, der den Code auswertet. Die Teilnehmer wissen nicht, welche Art von Tests die Maschine durchführt. Wenn alle erfolgreich sind, erhält das Team Preispunkte. Andernfalls wird ein Fehler generiert und die Schüler werden aufgefordert, den Code anzupassen.

Nach den Regeln der ICPC gewinnt das Team, das die meisten Aufgaben gelöst hat. Wenn es mehrere solcher Teams gibt, wird der Gewinner durch die geringste Strafzeit bestimmt. Die Teilnehmer erhalten Strafminuten für jede erledigte Aufgabe. Die Anzahl der Minuten entspricht der Zeit vom Beginn des Wettbewerbs bis zur Annahme der Aufgabe durch den Testserver. Wenn das Team eine Lösung findet, erhält es für jeden falschen Versuch, sie zu bestehen, eine weitere Strafe von 20 Minuten.


icpcnews / Flickr / CC BY / Foto vom Finale der ICPC-2016 in Phuket

Beispiele für Aufgaben


Die Ziele der Meisterschaft erfordern, dass sich die Teams koordinieren und konzentrieren. Zusätzlich testen sie das Wissen einzelner mathematischer Algorithmen. Hier ist ein Beispiel für eine Aufgabe, die ICPC 2018-Teilnehmern angeboten wurde:

In der Druckerei gibt es den Begriff „Fluss“ - dies ist eine Folge von Leerzeichen zwischen Wörtern, die aus mehreren Textzeilen gebildet werden. Ein Experte für Flüsse (die Gegenwart) möchte ein Buch veröffentlichen. Er möchte, dass sich die längsten typografischen Flüsse „bilden“, wenn sie in einer monospaced Schriftart auf der Seite gedruckt werden. Die Teilnehmer mussten die Breite der Felder bestimmen, bei denen diese Bedingung erfüllt sein würde.

Am Eingang erhielt das Programm eine ganze Zahl n (2 ≤ n ≤ 2 500), die die Anzahl der Wörter im Text bestimmt. Außerdem wurde der Text eingegeben: Die Wörter in einer Zeile wurden durch ein Leerzeichen getrennt und konnten nicht aus mehr als 80 Zeichen bestehen.

Am Ausgang sollte das Programm die Breite der Felder, an denen der längste "Fluss" gebildet wird, und die Länge dieses Flusses anzeigen.

Die vollständige Liste ist rückwärts vom letzten Jahr, und Lösungen für diese mit Erklärungen finden Sie auf der ICPC-Website. Es gibt auch ein Archiv mit Tests , denen die Programme der Teilnehmer „unterzogen“ wurden.

So wird heute Nachmittag auf der Meisterschaftswebsite und auf dem YouTube-Kanal eine Live-Übertragung der Szene stattfinden. Pre-Show-Aufnahmen sind jetzt verfügbar.




Was haben wir noch im Blog über Habré:

Source: https://habr.com/ru/post/de446678/


All Articles