ACM-ICPC是由美国计算机协会(Association for Computing Machinery)于1970年发起组织的国际大学生程序设计竞赛(International Collegiate Programming Contest,简称ACM-ICPC) ,是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近40多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛,被誉为计算机软件领域的奥林匹克竞赛。

ACM-ICPC赛事由各大洲区域赛(Regional)和全球总决赛(World Final)两个主要阶段组成。根据各赛区规则,每站前若干名的学校获得参加全球总决赛的资格,决赛安排在每年的4-6月举行,而区域赛一般安排在上一年的9-12月举行。一个大学可以有多支队伍参加区域预赛,但只能有一支队伍参加全球总决赛。

ACM-ICPC以团队的形式代表各学校参赛,每队最多由3名队员组成,每位队员必须是在校学生,取得学士学位超过两年或进行研究生学习超过两年的学生不符合参赛队员的资格,并且最多可以参加2次全球总决赛。

比赛期间,每支参赛队伍使用1台计算机需要在5个小时内使用CC++Java中的一种编写程序解决1011个问题,程序完成之后提交裁判运行,运行的结果会判定为“AC(正确) /WA(错误)/TLE(超时)/MLE(超出内存限制)/RE(运行错误)/PE(格式错误)”中的一种并及时通知参赛队。每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球。最后的获胜者为正确解答题目最多且总用时最少的队伍。每道题用时是从竞赛开始到试题解答被判定为正确为止,期间每一次提交运行结果被判错误的话将被加20分钟时间,未正确解答的不记时间。