Nothing in this world has prepared you for this: Algorithm Semifinal 1
05.03.06 7:50 PM


By omgrace
TopCoder Member

Last night during the reception, TheFaxman mentioned that if you brought your own keyboard, you should let them know beforehand so they can set it up and make sure it works beforehand. I didn't really think anyone would, but this morning as I was perusing the arena, I saw this:



Egor brought his own! I can definitely see why -- you're pumping out a lot of code in 85 minutes -- you should definitely be comfortable in the work environment.

This morning when walked into the conference room, I saw a bunch of guys huddled around a monitor:

They woke up early to talk to their fellow TopCoder's online and to give them updates! I'm sure those of you at home are very grateful for the early birds!!

So 30 minutes before the competition, everyone was able to go to their computer and set up for the 85 minute competition. Afterwards, everyone gathered to be introduced...Mortal Kombat style (in case you didn't notice/pay attention, that's where "Nothing in this world has prepared you for this" came from). They dimmed the lights and announced where everyone was from using the same style voice as the video game's announcer - I kept thinking I was going to hear someone announce Kano or Lord Rayden!



So the competition (round 1) has three questions and you have 85 minutes to do attempt to solve them. SnapDragon, Petr, krijgertje, bladerunner, Egor, Yarin, grotmol, mathijs, Mike Mirzayanov, OpenGL, cyfra, Ying, tomal, Im2Good, bus, and DarLam competed this morning:



The competitors hard at work:

.

Throughout the competition, everyone can keep up to date on what the programmers are doing by watching them on the monitors:



I later spoke to some people and they said that sometimes it was even more nerve-wracking because if they made a mistake, EVERYONE could see it. The picture above is a bunch of the afternoon competitors watching Petr's screen because he was favored by a lot of the competitors to win the first semi-final.



As you can see from the monitor, there are three levels of problems presented. Once a competitor opens the question, his score goes down - the competition is also about efficiency. All of the competitors have different strategies - if you look at the third line, Mike Mirzayanov skipped the first problem initially. The first problem is supposedly the easiest (although I'm sure it's pretty difficult to begin with), the second problem is the longest with added difficulty, and the third problem is usually impossible to do.

After the initial 85 minutes, everyone is given a 5 minute break to gather their thoughts and to get ready to go into a 10 minute challenge. In the challenge, you can go at other people's code - if you break their code and find a bug in it, your ranking goes up and theirs goes down. If you're wrong, though, you lose points and the other competitor will most likely hate you forever (kidding...I think). antimatter was explaining how to challenge people - it turns out not everyone challenges other people (these competitors are just too nice...). Usually people will look at the rankings and attack the lower ranked people (talk about Darwinism!). Here's a shot of everyone watching the competitors challenge each other:



There are a lot of "oooh's" and "aaaah's" because sometimes it's surprising to which competitor takes the plunge to challenge another. After the challenge, there's still the most important part - the system compiling the competitors' code. Even if you get challenged and pass another competitor's attempt to bring you down, you won't be able to fool the computer! There's a lot of suspense involved; they go from the lowest score to the highest and give you a red "X" if your code doesn't compile (and you lose ALL of your points!) and a green "check" if your code is correct. Here's the final result:



As you can see, a lot of people lost all of their points during the compilation period... however,



Congrats to cyfra! He won round 1!

After the first round, we went to an interactive NSA presentation and then had lunch. Initially, lunch wasn't ready so we all went to the game room to hang out while they finished placing everything out...but everyone just went straight to the desserts instead...which is why I LOVE buffets:



I'll be back later tonight with an update on the game room - there were some really interesting games TopCoder is providing for the event! Finally, happy birthday to Im2Good from team Medallia!


AMD

NSA

VeriSign

UBS