ICPC是由美國計算機協會(Association for Computing Machinery)于1970年發起組織的國際大學生程序設計競賽(International Collegiate Programming Contest,簡稱ICPC) ,是一項旨在展示大學生創新能力、團隊精神和在壓力下編寫程序、分析和解決問題能力的年度競賽。經過近40多年的發展,國際大學生程序設計競賽已經發展成為最具影響力的大學生計算機競賽,被譽為計算機軟件領域的奧林匹克競賽。
ICPC賽事由各大洲區域賽(Regional)和全球總決賽(World Final)兩個主要階段組成。根據各賽區規則,每站前若干名的學校獲得參加全球總決賽的資格,決賽安排在每年的4-6月舉行,而區域賽一般安排在上一年的9-12月舉行。一個大學可以有多支隊伍參加區域預賽,但只能有一支隊伍參加全球總決賽。
比賽規則
ACM-ICPC以團隊的形式代表各學校參賽,每隊由至多3名隊員組成。每位隊員必須是在校學生,有一定的年齡限制,并且每年最多可以參加2站區域選拔賽。
比賽期間,每隊使用1臺電腦需要在5個小時內使用C/C++、Java和Python中的一種編寫程序解決7到13個問題。程序完成之后提交評測機運行,運行的結果會判定為正確或錯誤兩種并及時通知參賽隊。
最后的獲勝者為正確解答題目最多且總用時最少的隊伍。每道試題用時將從競賽開始到試題解答被判定為正確為止,其間每一次提交運行結果被判錯誤的話將被加罰20分鐘時間,未正確解答的試題不記時。
與其它計算機程序競賽(例如國際信息學奧林匹克,IOI)相比,ACM-ICPC的特點在于其題量大,每隊需要在5小時內完成7道或以上的題目。另外,一支隊伍3名隊員卻只有1臺電腦,使得時間顯得更為緊張。因此除了扎實的專業水平,良好的團隊協作和心理素質同樣是獲勝的關鍵。