The Story of Petr Mitrichev - Target in Six Steps
As TopCoder competitions are becoming increasingly popular, so too the competitors are becoming better and better. New members with a strong programming background register daily and contribute significantly in improving this learning environment. But it is not everyday that a coder, in this case a Russian, becomes a target after only 6 matches! Beating the previous record held by snewman of 8 matches, he has already risen to 4th in the overall algorithm ranking. This is truly amazing, but what is the secret of his success? What makes him so good?
The Courage to Start
Petr Mitrichev was born in 1985 in Moscow, where he still lives today. At the age of 10, he started reading a lot of mathematical books and discovered that he liked math very much. He soon became fond of solving mathematical problems and puzzles. Despite the fact he didn't have a computer at home at the time, he read a book on Pascal programming language that his brother had bought. He only had the chance to put the knowledge to practice at the local Center of Youth's Creation, where he wrote his first programs. Later, in the autumn of 1996, he started to take computer science classes in the secondary school. While all of his colleagues were learning how to use Norton Commander, he was writing programs. Finally, his teacher (Julia Lvovna Vorontsova) noticed his keen interest and invited him to attend the computer science olympiad of the Northwestern District of Moscow. This was Petr's first important event, and he is still very grateful to Julia for having given him the opportunity to experience this amazing feeling of solving a problem, writing a program and seeing it work. He took fourth place, which qualified him for the Moscow programming Olympiad...
This is how Petr began his venture into the world of programming and proves that you don't need to have everything set from the beginning to succeed in the area you choose. It is enough to like what you do and have the determination to overcome obstacles. As Wayne Gretzky once said, you miss 100% percent of the shots you don't take - so it is important not to give up before you even had a chance to start!
A Great Opportunity
At that same Moscow programming olympiad in 1997, Petr took sixth place. Only three people qualified to the All-Russian programming olympiad, but their team leader, Nikolay Vladimirovich Korobkov, decided to take the two best competitors and Petr - because he was very young and considered it might be a good education for him. That's how Petr qualified for his first all-Russian programming olympiad! The olympiad took place in St. Petersburg. During the challenge he managed to only solve one problem out of six, taking 60th place out of about 100 competitors. But since he was the youngest participant of the event the judges decided to award him a computer. But more important than the computer, he relates, was the fact that he was invited to the summer training camp, where the Russian team for the International Olympiad in Informatics (or the IOI) was selected and trained. Listening to the same lectures and solving the same problems as the best Russian high school students was certainly an enriching experience for Petr, and also an incentive for future improvement.
Since that 1997 event, his programming challenge career has never stopped. He participated in six all-Russian programming olympiads for high school students, and won three of them - in 2000, 2001 and 2002. He also participated in six summer training camps and five winter training camps for the Russian IOI team. The teachers he had were all distinguished programming challenge winners: Anton Lapunov, Victor Matyukhin, Anatoly Ponomarev, Vitaly Berov, Maxim Babenko, Vladimir Martyanov, Andrew Stankevich, Dmitry Vasyura, Ilya Mironov, Mark Sandler, Evgeni Cherepanov, Sergei Chernyshev, Georgiy Korneev and others.
"These camps gave me everything - all the algorithm knowledge, all the implementation skills, all the confidence I have now."
Apart from these four weeks a year, Petr was a secondary and then a high school student at the Moscow State 57th School, a well-known high school in Moscow famous for its mathematics classes, which also helped him further sharpen his programming challenge skills.
The University Years
In the summer of 2002, Petr graduated from the 57th School and entered Moscow State University, in the Faculty of Mathematics and Mechanics, part of the Mathematics department. It was the start of his ACM career, but also the start of a solid program of mathematical study and the start of university student life. As for the ACM ICPCs - in 2002, he joined the YaRiK team, which became a kind of all-star team, where probably the 3 best programmers (in terms of challenges) from MSU were together in an ACM ICPC team. One of his teammates is also a TopCoder member - evgeni. The training sessions took place about once every two weeks, the team being trained by Oleg Boddanovich Hristenko and Evgeny Vasilievich Pankratiev. The trainers did their best, but there wasn't much for this team to learn, -they were unstoppable. They won the NEERC (their semifinal), and were very close to winning the World Finals in 2003. But the Warsaw University team, led by tomek left them with second place. Because this was the second World Finals for his teammates, they couldn't participate again in the 2003-2004 season, so Petr's team was completely new (he was joined by TopCoder members Aldanur and Pawa). This team didn't manage to qualify for the Finals, but the weekly training helped them improve a lot. In the 2004-2005 season, the team made it again to the Finals. With the help of Andrew Stankevich (TopCoder member andrewzta), coach of the IFMO team, they were in a very good shape before the Finals, ultimately placing second again, this time behind Shangai JiaoTong University. This was how Petr finished another bright programming challenge career! There are really very few people who can actually brag about two second places at such an important event, like the ACM - ICPC World Finals!
"I think that two main keys to programming challenges are training and thinking. You have to solve a lot of problems to become really successful, but you also need to have good math knowledge and the ability to solve uprising problems. Mathematical puzzles and olympiad problems, for example, can help develop it very well. And you have to be confident. Confident that you'll be successful. That you'll win eventually. And the feeling of being a winner, it will reward you for all the difficulties."
Most people would say that reaching such an amazing level of performance requires an enormous amount of training and effort. But quantity is not always the answer. "Programming challenges were always a small part of my life. Five hours once a week - it was the maximum, except for training camps." As an old quote says, "Mens sana in corpore sano", - this allows Petr to live an active and interesting life. He enjoys having fun with his friends and is involved in sports like soccer, volley-ball, basketball, table-tennis and mountain-hiking. The principle of avoiding over-training is as important in programming challenges as in any other competitive sport. This is what Petr, already a veteran in programming competitions, advises: "Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore - drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming challenges are only programming challenges, and nothing more. Don't let them become your life - for your life is much more interesting and colorful."
Finally a Target
Having finished his ACM career, Petr switched to TopCoder to continue with programming challenges. He likes them; he doesn't want to stop yet. His only regret is that the Pascal language (which he used from 1997 to 2005 for all challenges) is not available here. But as he had been using C# for his part-time job, the situation is not so bad. This year, in addition to studying and sports ("it's always nice to play good old soccer or to go rollerblading or biking �) and programming challenges and training camps he enjoys going out and having fun with his friends. He also started to teach mathematics in the 57th School as a part-time job. This year (from September 2004) was quite challenging for him, but what's important is that he is happy with what he has done. And this summer will also be quite colorful: soon, he's going to leave for the IOI training camp, now as a teacher, to train and inspire other elite Russian students. Then, he will come back to Moscow for two days, after which he's going to leave for a mountain-hiking trip to the Khibiny mountains. After one day at home, then there is the Summer Informatics School (for high-school students), where he'll also be a teacher. Two more weeks home, he'll leave for Mountain View, California to Google HQ, and then to Petrozavodsk for ACM trainings as a coach of the MSU team. He will eventually come back home on September, 1st - when the semester begins. In a few words, Petr describes a lifetime of experience and achievement: "I love this world."
This is the amazing story of Petr Mitrichev, a target in every sense of the word. But records are made to be broken. Maybe one day, someone who has what it takes to become a success in programming challenges, and is lucky enough to have a teacher like Petr, will define the next generation of TopCoder competitors.