We created a four stage judging process to review submissions:
1) The program must solve the problem posed. If it doesn't, it's out.
2) The program should be able to correctly decode other strings of text with different keys. I'm sure several of us can write encoding programs that will be useful for further testing.
3) We should each review each program for algorithm strengths and weaknesses. For example, analyzing common key words in English may be useful, but not if we toss it Lorem Itsem.
4) Code structure. This deals with things like readability of the code, adherence to good programming practices, logical structure of functions, etc.
Given that, we treated 1) as step one, 2) as step two, and 3)&4) as step three.
The submissions were from:
We had one submission that was not submitted correctly, and 5 more that didn't compile or didn't solve the problem.
For step 2), I created a new file to run through the remaining programs. Most of them could handle it as well. That got us down to the following for code analysis:
After analyzing the code, it was universally agreed that Arek's code was the best. Congratulations!
We also decided to determine a second and third place winner. After several discussions and some flat-out disagreement, we voted.
PythonPower got second place.
Brownhead got third place.
Both were very, very good, and it was almost a tie for second place. Well done everyone!
Edited by Jordan, 28 May 2009 - 10:34 AM.