Amirkabir University of Technology


Useful Links

Online judges

ACM Live Archive (has many problems from past ACM/ICPC regional contests and world finals.)

UVA Online Judge (more than 2400 problems available. All problems on this site are from this judge.)

Saratov Online Judge
(over 300 problems, most problems are also rather challenging.)

TJU Online Judge
(over 3000 problems. Most are from old regionals or similar. A cool feature on their judge is the ability to have virtual contests, and since they have a lot of old regionals, this is a very useful feature for team practice for upcoming ACM/ICPC contests.)

Peking University Online Judge
(more than 2700 problems.)

ZJU Online Judge
(over 2000 problems. Note that this judge supports only C and C++.)

(TopCoder is not actually an online judge. TopCoder is an organization that arranges programming contests. They have their own arena with practice rooms and a lot of problems from previous SRM's (single round matches). Moreover TopCoder arranges matches almost weekly, often with prizes to the best scoring contestants. Many people practice at TopCoder, and it is also highly encouraged.)

USACO Training Program Gateway
, this site is intended for high school students, but is in fact used by many others. They have a nice training program with tutorials, and reference solutions that you can see once you have solved a problem. Their training program is highly recommended.

Ural Online Judge
(over 650 problems, in general most problems are quite difficult.)

Sphere Online Judge
, over 500 problems, this judge supports over 25 different programming languages. It excels in this area. This is a widely used online judge.

Moscow Online Judge
(few problems, but all of are of a high quality.)

FZU Online Judge
(about 500 problems.)

HDU Online Judge
(has virtual contest features and quite a lot of problems.)
Arbiter (online judge at Sharif University in Iran.)


Useful sites

Algorithmist (here you can find explanations of many problems and also classifications. There are also nice tutorials about different subjects. Also they have a calendar of different programming contests. You should really check this page out!)

Igor Naverniouk's site (Igor has a lot of experience in solving problems at the UVA judge. At his site you can see how he has classified his solved problems, and in some cases you can also get hints. His problem classification list is often very useful. His library of algorithms (in C++) is very useful, and is definitely worth a look.)

Waterloo Programming Contests (this is the local page for contests held at the University of Waterloo in Canada. Here you will find a lot of great problems (most of them are also on the UVA judge), including solutions, input and output. Most solutions are of a very high quality. If you are stuck on one of their problems, it may be a good idea to take a look here.)

Mesmay's ACM-ICPC Resources page (here you can find hints for many of the problems of Volume I at the UVA judge. You can also find extra input and output for these problems. Furthermore there is a section concerning many of the standard algorithms. This site is mainly useful if you are stuck on one of the problems of Volume I at UVA)

TopCoder Algorithm Tutorials (here you can find about 40 good tutorials about useful algorithms)

Hadi Moshayedi's site (here you can find some useful and ‌appropriate algorithms and solution‌)


ACM/ICPC Regionals
North America
Pacific Northwest
Rocky Mountain
North Central
East Central
Mid-Central USA
South Central USA
Greater NY
Mid-Atlantic USA
Southeast USA
Mexico & Central America
South America/Brazil
South America/South
Africa and the Middle East
North Africa and Arab
South Pacific
South Pacific
Aizu Site
Amritapuri Site
Beijing Site
Chengdu Site
Dhaka Site
Hangzhou Site
Harbin Site
Hefei Site
Ho-Chi-Minh-City Site
Jakarta Site
Kanpur Site
Kuala Lumpur Site
Seoul Site
Taipei Site
Tehran Site