“If you take it slow you’ll move up.”
If you ask most coders about their strategy for TopCoder matches, they’ll probably answer with something like “score a lot of points” or “code the problems correctly.” This isn’t chess after all; it’s computer programming. No need for deep strategy here, just code quickly and accurately. As cintamani puts it “this is about trying not to make a mistake, that’s all there is to it.”
Dig a little deeper, though, and you’ll find that little differences in style and approach can be all that separates a top-tier coder from a low-level gray-name. The decisions a coder makes about match preparation, coding, and challenging can affect the final outcome of a tight match. I did a post-match interview with the members of two different rooms – one in each division — to get some idea of how these various strategies play out in the coding arena.
Hello, doctor. Thank you for seeing me on such short notice. Work is going well. My girlfriend is good. Look, can we dispense with the pleasantries please? This session is costing me a lot, and I really need your help. Thank you.
Well, it started about three weeks ago, really. The dream always starts the same way: I’m standing alone on a vast, flat grid of Cubes. Each one is about twice my height in any direction. Sometimes they seem to be made of granite, other times they glow the color of molten lava, and others still they have a slick, marbleized finish. There must be hundreds of these Cubes, arranged in rows of about half-a-dozen, stretching off into the distance farther than I can see. The sky around me is pitch black, like I’m in outer space, but I can still breath and there’s gravity and everything like that. There are no stars dotting the sky, just a never-ending blackness surrounding me.
I try to move and find that I can run in any direction, but the movement feels odd. It’s as if I’m looking down on myself from outside of myself, y’know? Like I’m high above the situation, but still firmly rooted on the ground at the same time. It’s hard to explain, but I imagine it’s like what a guardian angel must feel when looking down on his or her ward. But I’m getting off track…
So usually I just stand there for a few seconds, marveling at the oddity of my surroundings, when all of a sudden more Cubes start rising up from the grid. One by one, starting at the far edge, each row fills up with these huge Cubes, just sprouting up right from the ground. I watch, awestruck, as the wave of Cubes sweeps me off my feet and sends me tumbling down and backwards, finally throwing me back onto the grid with a loud “oomph!”
As I get up and start to regain my senses, some of the Cubes in the first few rows start to change colors. Some turn an odd, emerald green while others become as black as the encroaching night sky surrounding me. Most retain their original color, however. Then, without warning, the Cubes start advancing towards me, each row turning on its axis like a log rolling down a hill, except with corners.
I’m naturally overwhelmed by the encroaching presence of this giant, marching phalanx, so I begin to run away. After a few seconds, though, I’m confronted with the back edge of the grid and a view into an endless, gaping black void. I’m caught between a rock and a hard place, if you’ll excuse the expression. I don’t like the idea of falling in nothingness forever, so I decide to try and stand my ground against the rolling cubes.
At this point I always try a number of unsuccessful methods for stopping the invading Cubes! I try pushing against them, only to find their weight and momentum overpowering, forcing me back yet again. I try to jump over the top of them, but it’s as if my feet are glued to the floor; I can run, but I can’t leap off the ground! Finally, I try looking for any cracks in the intruding wall of bricks, only to find it utterly seamless.
Somewhere in the middle of all this, I lose track of my position for a moment and I’m crushed by one of the rolling Cubes. I expect the weight to be terrible, but instead the Cubes feel almost hollow as they pass over me. I find myself momentarily squashed flat as a pancake only to spring back to my usual form a few seconds later, sort of like a cartoon character. The Cubes continue to roll past me, faster then before, until they fall off into the void. Then I hear a loud, booming voice cry out: “Again,” his words appearing in a stark white contrast against the blackness of the sky. The next few rows of exposed Cubes change colors, in the same pattern as the last ones, and then they again begin to advance towards me.
Usually at this point I’m feeling grateful to be alive, but still a little stressed out from the whole surreal experience. I try to release my pent up stress energy using that technique you taught me in our session last month. You remember, don’t you? ‘Take a deep breath, hold it for a split-second, and then blow it out with all your force.’ Well, anyway, I do that and, to my surprise, I find that the Cube on the grid below me has started to shine in an eerie blue glow. The sudden change in my surroundings startles me and I try to wish the glow away with a thought. To my amazement, this works. The blue Cube glows a fiery red color for a moment, and then returns to its normal state with an electronic whooshing sound. All I had to do was think it and it was so! It was as easy as pushing a button!
So while all this is happening the Cubes are still moving towards me. By the time I’m done marveling at my newfound powers they’re usually right on top of me. Just as they’re about to crush me, though, I rush back, narrowly avoiding disaster. That’s when I find that I’ve inadvertently lit up another section of the grid with the blue glow. As the Cubes continue to advance they slowly roll over the glowing section, blocking it from view.
It’s then that I figure out the ultimate purpose of my new powers. When I will the blue sections out of existence with my thoughts, the Cube directly above it dissolves in a brilliant flash of white light. I suddenly feel very relieved: I’ve found a way to conquer the Cubes. I think this has something to do with what you told me about trying to conquer my fears. But you’re the doctor, you’d know better than me.
Well, the rest of the dream advances pretty methodically after that. I slowly figure out that each arrangement of advancing Cubes represent a puzzle, one in which I have to destroy all but the black Cubes before I’m forced over the back edge of the grid. The green colored Cubes are a great help in this, as they can leave emerald impressions on the grid that have even more destructive power than my blue ‘stress bombs,’ as I like to call them. If I fail to destroy them all, then the grid becomes shorter, leaving me with less room to maneuver around the rolling Cubes.
As I destroy row after row of the Cubes more rise up to take their place, in a seemingly endless cycle. No matter how many I destroy, it always seems there are twice as many to take it’s place. It feels as if my life is destined to be a never-ending pattern of rolling Cubes!
How does it end? Well, usually the ever-increasing difficulty of the puzzle Cubes overwhelms me and I’m pushed over the back edge of the grid. As I fall into the blackness surrounding me, along with the Cubes that were my downfall, I can’t help but evaluate my performance, wondering how I could have done better. I’ve developed an elaborate point system to measure my performance in each night’s dream. I’ve outlined it on this piece of paper if you’d like to see it. Oh. Maybe later then.
Anyway, that’s not always how the dream ends. Sometimes, if I’m having a really good night, after I’ve destroyed what must be thousands of Cubes I’ll find myself frozen in place, as if time has stopped. The grid around me starts falling apart, row by row, until I’m left standing on the only remaining Cube in the entire field. As the lone Cube starts lowering down into the void I find I’m still frozen, powerless to do anything but watch my descent. A few seconds later, I wake up.
Well that’s all there is, doc. Every night for the past three weeks it’s been the same thing. I feel like I’m going out of my mind here, doc! What does it all mean? I mean, what are those Cubes supposed to represent? Why do they just keep coming? And the void, do you think that has anything to do with the abandonment issues we talked about with my… what? What do you mean my time is up?!? It can’t have been an hour already! Oh, but doc, I need some answers here! It’s just all so weird! I can’t figure any of it out! No, it can’t wait until next month! I can’t take another night of those Cubes rolling towards me! Doctor, plea — hey! Doc, tell the security guard to take his hands off me! Help! Help! Don’t send me back to the Cubes! I can’t stand another night of this! HELP!