Monday, June 27, 2011

No T-Shirt For Me

This past Saturday my brain turned off and I failed to get even a single problem right in the 2nd round of the TCO 2011. This was the round you had to get past to get a t-shirt.

So what happened? One thing I like to do with problems is work out a couple simple inputs by hand to make sure I understand the problem. As one of my former co-workers liked to say, if you don't know how to do something, you don't know how to do it with a computer. On the first problem from Saturday's contest, the input was a positive integer, and we had to return an integer based on the problem description. I worked out the answers for the inputs 1 - 6. Unfortunately, I had come up with the wrong answer for an input of 6. Since 6 wasn't one of the sample inputs, I didn't know I was wrong.

Not surprisingly, trying to generalize from my wrong solution to a general solution didn't work so well. I eventually gave up, but not in time to code up a correct solution to the next problem.

walk away from the problemThis is a problem that I've had before, and I've seen it in others. Once you make a mistake, it can be really hard to see that mistake. Your mind tends to stay in that rut and you repeat the mistake when you redo the problem. In the real world (i.e. not the artificially constrained world of programming contests), there are a couple of ways to solvie this type of mistake. The first is to talk through the problem with an external party. If you can, though, don't explain what you did, but rather let them solve it themselves. That way you don't lead their thought process into the same rut as your own. The second approach is to walk away from the problem. Often times, just walking away from a problem is enough to let you see the solution when you pick it up the next day.

Unfortunately, neither of those were options for me with the programming contest. So, instead, I get to kick myself for a year. Oh well. Maybe next year will go better.


David Barr said...

Sorry to hear that man, we all know those ruts where the mind sees what it expects and not what is or you get locked in on a single method and can't break out. Better luck next time.

Anonymous said...

Oh man, sorry to hear that. Did that problem with the sample inputs eliminate a lot of people from the contest? Maybe this would be a good time for the madking to give his subjects a tally of all shirts won in previous programming contests just to lift the mood. I heard a rumor that the madking never goes shopping for clothes, he just enters programming contests to get all he needs, is that true?