ACM ICPC

Programming competition

Rules

  • More than one team for a university can go to regionals
  • Each team consists of 3 students
  • Students must be enrolled at least part time in degree program at sponsoring institution
  • Each team can only use one computer
  • <5 years university experience before contest
  • Eligible if participated in < 2 World Finals and 5 regionals
  • Contestants may submit a claim of ambiguity or error in a problem statement by submitting a clarification request to a judge
  • No printed materials or electronic devices may be brought in work area.
  • Online references are made available
  • Each team is permitted PDF of 25 pages of notes within limits described by Team Certification
  • To qualify for finals, students must be registered in ICPC Registration System BEFORE competing in a regional event that advances teams to the World Finals

5 hours

8-11 questions
c, c++, Java

testing

  • 8 questions for regionals
  • 10 questions for finals
  • Programs run on test data
  • Each run is accepted or rejected by a judge
  • If program gives wrong answer, team is notified and they can submit another program

scoring

  • Team who solves the most problems correctly
  • Placement of teams determined by the sum of the elapsed times at each point that they submitted correct solutions

  • 20 minutes added for each rejected submission of a problem ultimately solved

timeline

  • Regionals held from September-November of each year
  • Winning teams progress to finals (next Spring to Summer)
  • Faculty member must serve as team coach
    • Certifies eligibility of contestants
    • Serves as official point-of-contact with team during contest activities
  • Coach must register team 7 days before contest and November 8

Purpose

Given well-known computer science problems, solve them as fast as possible!

 

  • Not about software engineering
  • Solve judge's test data correctly
  • Run fast enough

Problem types

  • Ad Hoc
  • Complete Search
  • Divide and Conquer
  • Greedy
  • Dynamic Programming
  • Graph
  • Mathematics
  • String Processing
  • Comp. Geometry
  • Some harder ones

process

  • Learn to type fast http://typingtest.com
  • Quick identification test
    • What is the type of this problem?
    • How many minutes will I need to solve it?
  • Learn basic algorithm analysis
  • Master at least one programming language
    • Reduces amount of time looking at references, use shortcuts, macros, libraries

VERDICT

AC - Accepted

PE - Presentation Error

WA - Wrong Answer

TLE - Time Limit Exceeded

MLE - Memory Limit Exceeded

RTE - Runtime Error

Practice

  • Team work
  • Coding on blank paper
  • Submit and print strategy
  • Prepare test data challenges

let's try some problems

Sample input and output

team work

ACM-ICPC Recommended preparation

  • ACM-ICPC Live Archive: http://livearchive.onlinejudge.org
  • Codeforces: http://codeforces.com
  • TopCoder: http://community.topcoder.com/tc?module=ProblemArchive

Online Judges:

  • UVA Online Judge: http://uva.onlinejudge.org
  • SPOJ: http://www.spoj.com
  • PKOJ: http://poj.org

Copy of ACM ICPC

By Pulkit Goyal

Copy of ACM ICPC

  • 1,122