Computer Chess Club Archives


Search

Terms

Messages

Subject: How confident are you that you could have done this?

Author: Derek Mauro

Date: 20:53:33 02/09/06


So, today I found out that there was going to be an ACM programming contest at
my school.  Someone who knew I liked to program told me I should participate for
fun.  It was an algorithm contest.  We were given 4 problems to solve in two
hours.

I read the first question.  Basically, you were given a 4x4 magic square (see
http://en.wikipedia.org/wiki/Magic_square if you don't know what that is) with 2
spots missing.  Fill in the 2 missing spots and print the magic square.  This is
a pretty easy problem, and I figured it shouldn't take more than 10 minutes, if
even that long.

I looked at the second question, and my eyes lit up.  The title of the problem
was “Endgame”.  You were given a chessboard as 8 lines of text to stdin (for
example, rnbqkbnr for the first line).  The positions were guaranteed to be a
mate-in-1.  You can ignore castling, en passant, and moving a pawn forward 2
squares.  Print the position after the mating move.  Now, I think it would be a
pretty safe bet that I knew more about chess programming than the other 30 or so
contestants in the room combined.  I should have a huge advantage here.

Silly me, instead of doing the easy question first, I immediately started coding
the chess question.  15 minutes later I realized that the contest is first based
on the number of questions you solve, and if there's a tie, the time you took,
so I better just do the easy one first.

I race through the magic square problem, print a sample problem, it doesn't
work.  I quickly saw the error in my mental math and fixed it, which (somehow)
made me only the 4th person to submit a correct answer up to that point.

I spent the rest of the time working on the chess problem.  I had an almost
working program with 50 minutes left of the original 2 hours, but I spent
another 10 minutes figuring out why the IO didn't work.

When you submit you answer, the system automatically tries several test cases.
It indicated that my program crashed.  Strange.  Non of the test cases I tried
caused a crash.  I tried using the Visual C++ debugger.  Unfortunately, the
computers we were using were configured so that you can't debug a program unless
you are an administrator.  Idiots.  The tournament director had no idea about
this.

I never figured out why the program was crashing.  But I finished in 4th,
winning me a Visual Studio t-shirt, with a Napoleon Dynamite (stupidest movie
ever) joke on the back.  I actually didn't read the other problems during the
contest, because I was so determined to finish the chess question, but looking
at them now, I think would have been able to do both (no one actually solved
them).  As far as I can tell, the solutions to the other 2 questions are much
much shorter, and not nearly as tedious.  The other problems are pretty cool,
maybe I'll post the problems in CTF, if anyone is interested.

So as I sit here dejected that I couldn't solve a problem I've spent years on,
I'd like ask everyone this question:  How confident are you that you can 100%
accurately write the solution to the chess question in less than 2 hours, under
the pressure of competition, without the use of a debugger?

Or am I just an idiot? :)



This page took 0.02 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.