Code. Compile. Execute. ICPC.

Nybles News
Nybles
Published in
5 min readFeb 17, 2018

What is ACM ICPC

The ACM ICPC (Association for Computing Machinery — International Collegiate Programming Contest) widely considered as the Olympics of Programming Competitions is a fiercely fought battle of the best brains. The global competition is conceived, operated and shepherded by ACM, sponsored by IBM and headquartered at Baylor University. The contest pits teams of three university students against eight or more complex, real-world problems, with a grueling five-hour deadline. Huddled around a single computer, competitors race against the clock in a battle of logic, strategy and mental endurance.

For more than four decades, the competition has raised the aspirations and performance of generations of the world’s problem solvers in computing sciences and engineering. The 2017 ICPC Regionals saw the participation of 46,381 students majoring in computing and related disciplines from 2,948 universities in 103 countries spread across six continents.

WHY SHOULD I PARTICIPATE ?

i. FREE MEMBERSHIP IN ACM : Participants, coaches and registered staff (including volunteer helpers) receive complimentary membership to the ACM for a year. ACM can open doors by networking with other professionals and students in CS and the IT industry.

ii. PRIZES : Teams finishing in the top four positions will be awarded Gold Medals. Those teams finishing fifth through eighth place will be awarded Silver Medals. Those teams finishing ninth through twelfth place will receive Bronze Medals.

iii. OTHER PERKS : Bragging rights and job offers from some of the top software companies in the world!

ROAD TO WORLD FINALS

ii. ICPC REGIONALS : The regionals are organized by the local universities of different regions spread across the globe. The winners of these regional rounds of the contest get to represent the country in the ACM ICPC World Finals. The Asia Regionals in India are held at 4 sites viz. Amritapuri, Kolkata, Kharagpur and Chennai (as of 2017).

iii. INDIA FINALS : The top 25 teams from each regional site compete in the India Finals.

iv. WORLD FINALS : The pick of the crop from every regional site locks horn at the World Finals.

HOW TO PREPARE?

How do I prepare for ICPC” is one question that daunts every beginner aiming to perform well in this global contest. Managing time in the most efficient way possible and preparing from the best resources at hand is critical to achieving the best possible result. Who can know this better than the Topcoders whose sheer hardwork and determination made it possible to excel in the world of competitive programming.

Here is a compilation of the answers provided by Sai Sandeep, IIT Bombay. He was part of team Rocket which secured a world rank of 54 (highest among Indian teams in 2017) in the ACM ICPC World Finals, 2017.

  1. How different is the preliminary online round from the onsite rounds?
    Onsite round problems are significantly harder than preliminary online round problems. There is single PC per team, which is a huge difference from the online round and hence teamwork becomes very important. PC time per person is the limiting resource in onsite contests. Also, online contests are usually shorter (2 hrs) compared to onsite regionals (5 hrs).
  2. How important is the regular participation in various contests?
    It is the most important part in the preparation. Nothing prepares you for the icpc rounds as well as contests.
  3. Which sites or books would you recommend?
    Codeforces and Topcoder websites are very useful in preparation for ICPC.
    As such there is no need to read books. There are many good blogs online, for example, topcoder tutorials are very good. Codeforces also has blogs in which problem solutions are discussed. However there are few books that are good — Competitive programming by Halim and Halim, The Hitchhiker’s guide to programming contests. Of course, there are various books on algorithms which are a must to get a good understanding of the algorithms and data structures- CLRS, Sedgewick, Algorithms by Dasgupta et al.
    For complete beginners, first step is to learn a programming language such as C++, Java or Python. Sites such as cplusplus.com and code school help.
  4. The top 3 important topics?
    Dynamic Programming, Greedy, Graphs.
  5. How do you keep yourself motivated to do even better in competitive programming?
    There are ample of resources online. One can qualify to ICPC World finals starting from scratch in 1–2 years ( in India ). It’s a great motivation!

INDIA IN ICPC : FAQ

Highest Rank by an Indian Team in World Finals : 18th rank by TuringMachine (IIIT Hyderabad), World Finals 2012 and by Proof (IIT Delhi), also in World Finals 2012.

College with most number of World Final Selections : 8 years, IIIT Hyderabad. (2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017)

GO FOR GOLD INITIATIVE: ‘Go for Gold’ is a non-profit initiative conceptualized and driven by Directi to enable an Indian team to excel at the world finals of the ACM International Collegiate Programming Contest (ACM-ICPC), the most competitive programming challenge in the world. The Directi Go for Gold Cup and cash prize will be awarded to any Indian team that finishes higher at the ACM ICPC than any other Indian team has in the history of the contest.

The cash prize for any year is computed as follows —
Prize = (Rs. 161803 * 1.61803¹.61803) * (log (base 1.61803) (N+1))

• N is the number of years for which this prize has remained unclaimed (Current value of N is 5)

Each year the prize is unclaimed, it increases further. It was last claimed By TuringMachine in 2012 and a sum of at least Rs. 1,312,438 awaits the next winner as of World Finals, 2017.

By Elaine Mary Rose

--

--