Programming Challenges
This page is outdated.
ACM ICPC
Become a member of one of two Purdue programming teams for the ACM International Collegiate Programming Contest. Drop Tomek an email.
Purdue at the ACM contest 2005.
Problems and solutions in both C++ and Java from last year's ACM Regional Contest.
How to join
Email Tomek Czajka (tomek@cs.purdue.edu) and just come to a match. Requirements: be able to write a program in one of C, C++ or Java.
Winners Ranklist
| 1. | Zhanibek Datbayev | 9 pts |
| 2. | Nathan Claus | 3 pts |
| 3. | Prakhar Gupta | 2 pts |
| 3. | Emil Stefanov | 2 pts |
Schedule, problems, solutions, test data
| Name | Date | Problems | Solutions & test data | Winners |
| Match One | Sept 9, 2006 | A B | match1.zip | 1. Nathan Claus |
| Match Two | Sept 16, 2006 | A B | match2.zip | 1. Zhanibek Datbayev |
| Match Three | Sept 23, 2006 | A B C | match3.zip | 1. Zhanibek Datbayev 2. Prakhar Gupta |
| Match Three | Oct 7, 2006 | A B C D | match4.zip | 1. Zhanibek Datbayev 2. Emil Stefanov |
| Purdue Local Contest | Oct 14, 2006 | | | |
Practice at home
Tips and Tricks
- Learn your language - how to read numbers from standard input, how to print numbers to standard output.
- Read other people's solutions (some solutions can be found above).
- Learn libraries: C++ STL, Java API.
- If you can't decide whether to use Java or C++ - use Java, it's better for most people.
- NEVER start coding until you know exactly what you are going to write. At least 60% of the time spent on a problem should be before you touch the keyboard.
- Write pseudocode on paper first, including all functions and variables.
- Estimate the running time of your approach in the worst case. 100 000 000 typical elementary operations = 1 second of running time.
- Use simple code that works - global arrays of maximum size are OK for contest programs.
More links
A tutorial on contest programming
Teamwork in ACM programming contests