2000 U of S Programming Contest Rules/Procedures


Due to the fact that it would be difficult to get all the interested parties together at the same time, this contest is going to be run as though it were a timed take-home test. Each contestant is to work alone and spend no more than four hours doing so. Enforcement is strictly by the "honor system". Timing starts when the contestant begins reading one of the problem descriptions. Preferably, the contestant will work on the problems during a single block of four hours. However, as it may be difficult to find a single block of time of that length, a contestant is allowed to split his work among two blocks of time totaling no more than four hours.

One of the consequences of this arrangement is that, unlike the ACM contest, no almost-immediate feedback from the judges will be provided to a contestant in response to a program submission.

Programming Languages

The ACM contest allows the use of C, C++, or Java. For this contest, you may use any of these, plus Ada.


For each problem there is a single input file and a single output file. For these we will use standard input and standard output. For testing purposes, if, for example, your executable is in the file prob2.exe and you have placed input data in the file named prob2_in.txt, and you want the output to be written into prob2_out.txt, then you can use redirection and issue (in an MS-DOS window) the command

prob2.exe < prob2_in.txt > prob2_out.txt

Submitting Solutions:

To submit a solution to the judge (McCloskey), email the source code to mccloske@cs.uofs.edu. The subject should indicate your name and the problem number.

The Problems:

There are seven problems. You should not expect to solve even close to that many during a four-hour period. Indeed, to solve two correctly would be good. Work on the two or three that seem easiest to you, or on a difficult one that you are sure that you can solve in four hours. (A solution to a difficult problem might impress the judge!) Just for fun, work on others on your own time!

Problem 0: Stacks of Flapjacks
Problem 1: Translating Rationals to Repeating Decimals
Problem 2: Binary Tree Traversals
Problem 3: Goldbach's Conjecture
Problem 4: All in the Family
Problem 5: Shortest Substring Containing a Subsequence
Problem 6: Boolean Matrix Error Correction