Ideas needed

This is a discussion on Ideas needed within the Contests Board forums, part of the Community Boards category; I want to get a large pool of programming challenges for the speed-coding contests. I intend on running one this ...

Ideas needed

I want to get a large pool of programming challenges for the speed-coding contests. I intend on running one this weekend... but I'm having a hard time coming up with / finding suitable problems. If anyone has any websites where I might be able to find some, or if you have some yourself... please post them.

An expression evaluator is always good. Lots of good stuff to judge on, including correctness. For example, when this string is processed:
"4 + (3 - 1) / 2 * 3"
the result should be 7 (treating division and multiplication as equal precedence and evaluating left to right).

You could "kick it up a notch" by making a functional-script-parsing type program. An example script might be:

Code:

f(x) = 4 + (3 - 1) / 2 * x
g(y) = 3 * y
evaluate: g(f(3))

Parsing this file would spit out "21". We can keep things simple by having a very strict format and say that the program will always be given a valid script file.
We can make it easy to test (by the judges) by declaring an entry point like:

Code:

double evaluate(const char *script_filename);

This may not be a good candidate for speed programming, but it's a great excercise in problem solving.

Another idea along the lines of re-implementing something, namely strtok(), but for STL/C++. The design approach can be part of the contest or give the design and let the implementation be the contest.
A couple of design's come to mind, a token iterator for a string, or extending string and adding tokenizing methods.