ACM Collegiate Programming Contest Winner Announced
Slob Nerd writes "The finals for this years ACM International Collegiate Programming Contest World Finals have just finished. And the winner is... St. Petersburg Institute of Fine Mechanics and Optics! Full results here, and details on all teams here. A pdf of the problems is also available. Congrats to all involved."
This championship looks very amateurish and unprofessional compared to this!
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
What is the appeal of turning everything into a competitive event? Whether its music, literature or programming, someone somewhere is trying to convert a self-contained creative process into a "Nyah, nyah, my college/school/town I'm better than deal."
What happened to the satisfaction of doing something for its own sake?
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
Many slashdotters will probably be pleased to know that the contest's environment OS was Red Hat Linux 9.0.
Full environment specs here.
I hear there's rumors on the Slashdots
It comes as no surprise that Russian teams did especially well considering most of the problems relied heavily on mathematical understanding. It's perhaps the one country in the world where logic and math have been given their rightful place and respect in education.
You say the people who "got sloppy" got the problem correct right away. I think a better description would be they put in some tolerance for errors. I would assume you bothered to check your program against the maximum input (to check for time factors).
You also forgot to mention that the three or four team members get to SHARE one computer. So, it's not only important to be able to solve problems quickly, it's also about managing the limited resources at your disposal.
I was a contestant at the ACM world finals in 1999 and 2000, and have been a coach since.
In 1999, we had a similar problem to what you just described -- the test data did not match the problem description. Many teams that followed the description exactly were not getting their programs accepted, while many other that simply accomodated for the flaw (without knowing that they were doing it) got their programs accepted.
But you have a recourse in this contest, which I remember the Waterloo team (sitting across from us) used: you can intentionally crash your program (using assert()) if an assumption you make about the program fails. If it crashes, you know that your assumptions are not holding. This is what Waterloo did, and they found out that the their program was failing because of a mis-specification.
As others have said, the ACM contest is about time-management, teamwork, good decision making, and clever and fault-tolerant programming. I understand your frustration (I'm right there with you), but I think the lesson to be learned is how to work together solve the problem, not how to hold a grudge.
(I'm one of the Directors of the contest, so I know of what I speak.) "Score" is a terrible title. It should be "penalty". The teams are ranked first by the number of problems they got correct. Thus St. P's came in first, because they were the only team to get 7 problems correct. Among the four teams that got 6 problems correct, they are ranked from smallest penalty (KTH) to highest (MIT). Penalty is computed as the total cumulative time it takes you to solve a problem. So if you solve one problem after 30 minutes and a second problem after 30 additional minutes, your penalty is 90 minutes (30 from the first problem, 60 from the second). In addition, you are given 20 minutes of extra penalty for each incorrect submission to a problem that you eventually get correct.
I participated in this contest twice, in '96 and '97.
The first time, I was studying at a Bulgarian university (Sofia), and we scored 4th at the finals; MIT scored 5th. Two of us transfered to MIT that same year. Even though we had the skills to do well in such a contest (quick, efficient coding; algorithms knowledge; a little bit of teamwork), there's far more to computer science and engineering than that, and the rest is not taught in any Eastern European university.
And this is basically why programming contests are so hot in that part of the world. And why American students generally don't do well. It's all about the incentive! Kids in the US don't need to do it, and have little to gain. Whereas in Eastern Europe, it's the way to get some kind of recognition, and get on the fast track to a good education, a good job, etc. (Usually, involving immigrating, of course.)
Also, you should understand that these kids have been training for 5 years for such programming contests. Programming as a sport starts around 7 or 8th grade (IOI is the equivalent international contest for highschoolers), so by the time these kids get to college, they are highly experienced.
So, yeah, I expect the winners to apply to the best American universities and get in, of course.
MIT and Stanford can only gain by losing in that competition.