"Battle Live": ICPC final in Porto

Today The Portuguese city of Porto will host the final of the international programming competition ICPC 2019. Representatives of ITMO University and other teams from universities in Russia, China, India, the USA and other countries will take part in it. Let's tell you more.

"Battle Live": ICPC final in Porto
icpcnews /flickr/ CC BY / Photos from the ICPC-2016 final in Phuket

What is ICPC

ICPC is an international programming competition among students. They have been held for more than 40 years - the first final passed way back in 1977. The selection is carried out in several stages. Universities are divided into regions (Europe, Asia, Africa, America, etc.). In each of them, intermediate stages are arranged, in particular, the semi-finals of Northern Eurasia took place at our university. The winners of the regional stages take part in the final.

At ICPC, teams of three participants using one computer (not connected to the Internet) are invited to solve a number of problems. Thus, in addition to programming skills, teamwork skills are also tested.

ITMO University teams have won the ICPC Grand Prize seven times. This is an absolute record that has been held for many years. The battle for the ICPC Cup 2019 will clash 135 teams from all over the planet. ITMO University is represented this year by Ilya Poduremennykh, Stanislav Naumov ΠΈ Roman Korobkov.

How will the final go?

During the team competition get one computer for three persons. It runs Ubuntu 18.04 and has vi/vim, gvim, emacs, gedit, geany, and kate editors preinstalled. You can write programs in Python, Kotlin, Java, or C++.

When the team solves the problem, it sends it to the testing server, which evaluates the code. Participants do not know what kind of tests the machine is doing. If all of them are successful, the team receives bonus points. Otherwise, an error is generated and students are sent to proofread the code.

According to ICPC rules, the team that solves the most problems wins. If there are several such teams, then the winner is determined by the smallest penalty time. Participants receive penalty minutes for each solved problem. The number of minutes is equal to the time from the start of the competition to the acceptance of the task by the test server. If the team has found a solution, then it receives another twenty minutes of penalty for each incorrect attempt to pass it.

"Battle Live": ICPC final in Porto
icpcnews /flickr/ CC BY / Photos from the ICPC-2016 final in Phuket

Examples of tasks

The objectives of the championship require teams to work coherently and concentrate. Additionally, they test knowledge of individual mathematical algorithms. Here is an example of a task that was offered to ICPC 2018 participants:

In typography, there is a term "river" - this is a sequence of spaces between words, which is formed from several lines of text. Some expert on (real) rivers wants to publish a book. He wants the longest typographic rivers to "form" on the page when printed in monospace type. Participants had to determine the width of the fields at which this condition would be met.

At the input, the program received an integer n (2 ≀ n ≀ 2 500), which determines the number of words in the text. Further, the text was entered: words on one line were separated by one space and could not consist of more than 80 characters.

At the output, the program had to show the width of the fields at which the longest "river" is formed, and the length of this river.

Complete rear listing from last year and solutions to them with explanations can be found on the ICPC website. Ibid there is an archive with teststo which the participants' programs were "subjected".

So this afternoon on the championship website and YouTube channel there will be a live broadcast from the scene. Now available pre-show recordings.

What else we have in the blog on HabrΓ©:

Source: habr.com

Add a comment