For an ACM-ICPC beginner, how should I start?
Most of the answers here point out places where one can solve problems. I'm going to describe an approach to approaching ACM programming contests which is a bit different. My definition of an ACM beginner is someone who has not done an ACM regional contest before and has essentially no competitive programming experience, so I will try to cover more of the details from starting on working ACM problems to competing in a regional contest. First, get comfortable with one of C++ and Java. You're allowed to use C, C++, or Java - using C is more likely to hinder you in the long run, so get acquainted with one of the other two languages. You should be comfortable enough with the language that you can do some simple things. In particular, you should be comfortable with the following: Reading in data from standard input (the console), or from a file. You must learn how to do this, since that's how interaction with the program is done. Basic arithmetic operations with integer num...