Continuing immersion into the world of sports programming is already on your screens. Now will be the most delicious. I used to go around and around, but now it's time to take on the essence. Let's see how one of the tours goes, which lasts in these 5 hours of excitement and creativity. Today will be a lot of fun.
For those to whom this article will be the first of the series:
The first article is about drawing up tasks.The second article is about testing systems.The third article is about the work of the organizing committee.')
Tour Vseshiba usually begins with a trial tour. The usual two tasks, for several years now unchallenged in this capacity - the sum of numbers and Crazy Jury. This is done exactly in order for the teams to get used to the place, to the settings of the software and all that. Some teams are very happy and decide to deceive the system by writing algorithms templates instead of probes. In vain, in vain. Usually, at these Olympiads, before the full-time tour itself, a cyclical shift of teams at the computers is carried out and all templates remain to the opponents. More precisely - they do not remain, because folders are prudently cleared by the organizing committee.
Also, the purpose of the trial tour is to check the performance of all the mechanisms of the Olympiad. Actually, the first two or three times at 8 Vsesibe ujudge crawled exactly during the sampler. It didn’t give the best feelings, but more about that later.
The jury usually meets half an hour before the tour. Again, all the tasks are missed and all the conditions are covered on the subject of horror-horror-horror. Here the most interesting thing happens when there are questions, and there are no answers to them. Thus, in the last launch of Vsesib, a reasonable question arose to Misha Dyakov, whether geometric primitives are closed for him (
problem condition for those interested ). All anything, just asked Misha on the phone, of course, waking him up. After about an hour, Misha appeared in the jury's location and, to the loud laughter of all the members of the judicial brigade, described his whole range of feelings at that moment.
15 minutes before the start of the tour teams are allowed to use computers. Already you can fill the templates, the benefit of the login for the team is constant for the entire tournament. 10 minutes after that, the organizing committee distributes sealed envelopes with tasks for this tour. Everyone waits from the jury's room (where the entrance and even the glance of the participants are strictly prohibited). A wave of the checkered flag - the envelopes are torn, fast coders sit down to code quickly, and the jury has a good time. Already a minute to the second the jury questions begin through the test system. 50 percent are eliminated with the comment “No comments”. Often, even the answer to the simple question of the team is put to the vote, because you may have to amend the condition of the problem. But there are funny moments. So, at one of the olympiads (seemingly in VKI), someone asked if it was necessary to accompany the source code with comments. It is interesting how the participant responded to the reasonable answer “No comments” and if he did not begin to remove the documented pieces of code. Science is not known. But science knows a jovial stupor when one of the teams on the in-person tour didn’t know what a torus is and what it is eaten with (and they usually eat it with tea in the form of a donut). The whole mental apparatus was aimed at how to explain it. Someone got on the wiki. Someone began to portray the torus in the paint. Sasha Kirov was the quickest of all and ran with an analog piece of paper, explaining a piece of geometry to the unlucky team. Kurgan mathematicians never get lost.
All is well if nothing breaks. But nothing just can not break. The most good, if the task broke. Suddenly, there was an incorrect test that did not meet the conditions, or the format of the input file was not complied with. First, anger flows from all the teams whose de facto right decision pours on the jury. These flows are then redirected to the person responsible for the tests. If everything is bad and everything is broken, then the test is removed, and all solutions are sent for retesting. The teams, of course, are not very happy, but everyone has the right to make mistakes. So sometimes someone gets five pluses for a task at once. Well at least for the extra pluses penalty points do not cover.
And the worst thing is when something happens to the testing system. Again, remember our poor, poor ujudge. A system with a pretty face, a non-intrusive interspersing of ajax and normally thought-out architecture. Only with the load she could not cope. At the semi-finals of the school Olympiad, when it first appeared, we didn’t even know what to sin for. On the same day, the central uni-router and 3 teams from the FSH took off, writing assignments later than the rest of the teams (in fact, only the number of tasks was important to them in order to qualify) passed the tasks through the genius of technical thought - flashconet. Misha and I got so much in tune that in the audience of participants we drew a browser window on the board and there we promptly displayed the number of tasks submitted. Such is server emulation.
On the full-time tour, everything was much sadder. The tester was knocked down, raised by the efforts of Andrei, who wrote the next patch, or brought him out of the coma and again went to bed under the pressure of a heap of sent tasks. There was even a joke that ujudge is a unique system, because it works on the author’s muscular strength. So here. Remember that our client scales well. The jury has a whole terminal class, so several more tester and web snippets were raised. In order to protect computers from encroachment on them, epic tablets of “typewriter testing” and “typewriter webserver” were hung. I personally, alas, did not see them.
Extensive path did not give the desired result. As it turned out, the load balancer yielded a tasty performance drop by itself. Pearl shaman Sasha Fenster in 5 minutes threw a random balancing script on his knee. It became a little better, the system even lasted 5 minutes. The participants had already boiled. I used the impudence and administrative resources to bombard acquaintances from the jury with questions like “when?” And “kagdila?”, Other teams didn’t get bored either. Someone from the bottom of my heart wrote an unforgettable question to the jury "Thanks to the jury for the truly enchanting performance of the testing system." Tatyana Viktorovna replied to this without a doubt, having answered “A kind word and a cat is nice =)” And that was what they decided.
In the jury, the show went on. Andrew tried to raise his system. In parallel, they wanted to try to raise the old system, but they updated the pearl on the server of our faculty, but the system did not ripen over time. As a result, by the night of Misha Kalugin and Alexey Romanenko she was stunned, but another testing system was chosen by a jury vote. This, however, later. While all this bedlam was going on, Andrei Lopatin unrolled his own testing system in a corner on his laptop with a flash drive, drove all the tests there, checked the solutions, corrected the tests and quietly said that there was a testing system. As a result, on an absolutely force majeure decision, 3 hours after the start time of the tour, this tour did begin. Well passed in the future, thank God, without such problems. The second round was also written on the Lopatin system.
During the second round of the jury, too, there was little boredom. Lopatin, Stankevich and Gozman (each in mind about 4 of my teams) decided to play in Vsesib. They sat down for one laptop, started to solve the tour with gigging and jokes. As a result - in 1.5 hours from the put 5 round was taken. The decisions of the jury - corrected and improved, and in the tests found a couple of bugs. Here it is, the power of the mind.
Well, with the fact that passes during the first part of the tour, we figured out. In the end, the fun begins. After 4 out of 5 hours of the tour, the rating is frozen. Thus, you can only know how much you yourself decided at the moment. Some teams cunningly use such a chip, but in this I will tell in the article on the team game. If the tour passed without delay, then 5 hours after the start everything ends and the teams go to rest. But if there were a hitch, the jury can add a few minutes to the tour, which can be decisive (so our team once at the expense of 20 bonus minutes managed to snatch 3th place in the university in the qualifying round, when I wrote in a wild kipish invented 5 minutes before finish algorithm).
Then there is usually a small pause (for example, for a meal) and after it - analysis of tasks. At first - unofficial. The teams tell each other what dirty hacks they dragged their decision on and why the task falls on test 9 and how it could be circumvented if they were somewhat smarter in childhood. And then the great and mighty jury takes the stage. Each tells one or two tasks, participants ask smart questions, get at least clever answers. As it should be, although sometimes the conversation leads quite far and the discussion has to be interrupted.
On parsing often funny things happen too. Let's start with the fact that a person can go out to tell not his task. At Vsesib, of course, not so, but at some school tour (almost the semi-final of the All-Russian team) it was like that. Only three people from the jury remained for the analysis: I, Misha Gorodilov and Vanya Kornienko. Well, we scattered 9 tasks between each other and began to tell. The first failure occurred at Misha. About an hour later he explained to the coach of one team how to write a quick analogue of linked lists on arrays in Pascal. The children understood in 10 minutes, and the remaining 50 minutes, Misha and the coach tried to find understanding in terminology. It’s good that such a delay happened, because Vanya and I found one problem, the solution of which neither I nor he knew. We had only a rough scheme of the algorithm. As a result, we, as glorious graduates of the Kurgan Mathematical School, were able to independently derive this algorithm in half an hour and prove its complexity. And then on the “rock-paper-scissors” they determined who would go to tell him, afraid to repeat the experience of Misha, who was tormented at the time at the blackboard.
Sometimes it is sometimes unexpected to see the author of the problem. At the All-Siberian Olympiads, the “old men” even sometimes have something like a competition - to guess who wrote what task. So, this is connected with another funny story. Misha Kalugin, after leaving the jury, began to earn extra money during the tours also as a photographer. Mirror is, hands like too, so why not walk and click. Responsibility for writing tasks was not removed from it. So here. Analysis of the tasks, goes to the board Michael. A voice from Tomsk: “Damn, they even have a photographer to solve problems!” Curtain.
This is how the typical tour of Vseshiba goes. Without joy and happiness can not do. But all of the above in one run rarely enters, otherwise the KVN Open Cup of our university would fade next to the All-Siberian Olympiad.
For the good memories provided I want to say thanks to Misha Kalugin, Kolya Kurtov, Tole Petrov, Misha Gorodilov, Sasha Kirov, Natasha Popova and a little bit to myself.
In the next series, I will return to the role of a participant, a coder, a player, which I am used to, and I will tell you about the training and tours for teams.