There are a seemingly endless supply of past programming contest challenges on which to practice. In this section, we highlight some of those resources.
The ACM-ICPC Live Archive contains many years worth of past problems for regionals and world finals, and it has an online submissions system allowing you to upload source code to attempt to solve problems using a feedback system similar to the contest.
Our regional competition uses an online juding system named Kattis. It is possible to experiment with that submission system through the website open.kattis.com. Much like the ICPC Live Archive, there are many old problems loaded into that system for which you can submit attempted solutions. They also run occassional timed contests that are even more like the atmosphere of our reginal competition.
The UVa Online Judge is another site allowing you to submit attempted solutions for a variety of programming problems. Much of its content has been taken over by the new ACM-ICPC Live Archive, but there are some additional problems on this site that were not from the ICPC competitions. I'd recommend sticking with the Live Archive, but if you run out of problems and need more...
There will be a series of online practice contests on Saturday/Sundays in the fall, run on the same Kattis system that is used during our regional contests. For more information, see naipc.uchicago.edu/practices/
While the online systems are probably most convenient, for many of the problems that we discuss in our practices here at SLU, I have placed the associated judges input/output on our system so that you can have your submitted solutions judged against that data in an automated fashion. This system also tracks your submissions so that I can see your attempts and examine your source code.
To submit a solution, you must be logged into hopper or one of the Linux Lab machines, and execute a command such as
/public/goldwasser/icpc/submit sample.cppwhere sample.cpp is the appropriate source code for the problem. Our system is willing to accept code in C++, Java, or Python (although it is not yet clear if Python will be allowed at this year's regionals). Also, the filename (e.g., sample) must precisely match the expectiations outlined in a problem statement, as we use that choice of name to determine which problem you are attempting.
Note: Input/Output conventions on our system are the following. Input will always be read from a file having a name such as sample.in, where sample was the identifier for the problem. Output should always be directed to standard out. These are the conventions currently used for our Region, so we use them for all practice problems (even if the problem statement says otherwise).
Please see the complete list of available problems for our online system.
Please see our current draft of such a sheet (password required).