國際大學生程序設計學術活動(英文全稱:International Collegiate Programming Contest(簡稱ICPC))是由國際計算機協會(ACM)主辦的,一項旨在展示大學生創新能力、團隊精神和在壓力下編寫程序、分析和解決問題能力的年度學術活動。經過近40年的發展,ACM國際大學生程序設計學術活動已經發展成為全球最具影響力的大學生程序設計學術活動,賽事由AWS、華為和Jetbrains贊助,在北京大學設有ICPC北京總部,用于組織東亞區域賽。
歷史背景
ACM國際大學生程序設計學術活動的歷史可以上溯到1970年,當時在美國德克薩斯A&M大學舉辦了首屆比賽。
當時的主辦方是the Alpha Chapter of the UPE Computer Science Honor Society。作為一種全新的發現和培養計算機科學頂尖學生的方式,學術活動很快得到美國和加拿大各大學的積極響應。1977年,在ACM計算機科學會議期間舉辦了首次總決賽,并演變成為一年一屆的多國參與的國際性比賽。
2018年4月,ACM-ICPC在中國北京舉行,由北京大學承辦,最終北京大學最后時候完成G題奪得金牌。
學術活動時間
學術活動時間:5月22日12:00-17:00
報名截止日期:5月12日22:00
掃碼獲取備賽計劃,考前查缺補漏、重點沖刺
【免費領取】相關真題及解析,還有一對一學術活動規劃!

簡要規則
ACM-ICPC以團隊的形式代表各學校參賽,每隊由至多3名隊員組成。每位隊員必須是在校學生,有一定的年齡限制,并且每年最多可以參加2站區域選拔賽。
比賽期間,每隊使用1臺電腦需要在5個小時內使用C/C++、Java和Python中的一種編寫程序解決7到13個問題。程序完成之后提交評測機運行,運行的結果會判定為正確或錯誤兩種并及時通知參賽隊。
而且有趣的是每隊在正確完成一題后,組織者將在其位置上升起一只代表該題顏色的氣球,每道題目第一支解決掉它的隊還會額外獲得一個“FIRST PROBLEM SOLVED”的氣球。
最后的獲勝者為正確解答題目最多且總用時最少的隊伍。每道試題用時將從學術活動開始到試題解答被判定為正確為止,其間每一次提交運行結果被判錯誤的話將被加罰20分鐘時間,未正確解答的試題不記時。
與其它計算機程序學術活動(例如國際信息學奧林匹克,IOI)相比,ACM-ICPC的特點在于其題量大,每隊需要在5小時內完成7道或以上的題目。另外,一支隊伍3名隊員卻只有1臺電腦,使得時間顯得更為緊張。因此除了扎實的專業水平,良好的團隊協作和心理素質同樣是獲勝的關鍵。
學術活動特點
1.參賽隊伍最多由三名參賽隊員組成。
2.學術活動中命題10題左右,試題描述為英文,比賽時間為5個小時,前四個小時可以實時看到排名,最后一小時封榜,無法看到排名。
3.學術活動可以使用的語言:Java, C, C++, Kotlin 和 Python。
4.重點考察選手的算法和程序設計能力,不考察實際工程中常用的系統編程,多線程編程等等;
5.選手可攜帶任何非電子類資料,包括書籍和打印出來的程序等,部分賽區會對選手攜帶的紙質資料做限制。
6.評委負責將結果(正確或出錯的類型)通過網絡盡快返回給選手,除此之外不提供任何額外幫助;
7.每個題目對應一種顏色的氣球,通過該題目的隊伍會得到對應顏色氣球。每道題目第一支解決掉它的隊還會額外獲得一個“FIRST PROBLEM SOLVED”的氣球。
賽事構成
賽事由各大洲區域預賽和全球總決賽兩個階段組成。決賽安排在每年的3-5月舉行,而區域預賽一般安排在上一年的9-12月舉行。原則上一個大學在一站區域預賽最多可以有3支隊伍,但只能有一支隊伍參加全球總決賽。
入圍世界總決賽名額(WF Slots)分為參與名額(Participation Slots)、獎牌名額(Medal Bonus Slots)和其他紅利名額(Other Bonus Slots)三類。其中參與名額是從ICPC總部分配給各大洲區的參與名額(ParticipationSlots)中,由各大洲洲區主席確定并分配給洲子賽區的部分,其中各預賽區第一名自動獲得參加全球總決賽的資格;獎牌名額是ICPC總部根據上一年度總決賽結果直接分配給獲得獎牌的特定學校的名額;其他紅利名額是各大洲區主席從ICPC總部爭取到的額外獎勵名額。
全球總決賽第一名將獲得獎杯一座。另外,成績靠前的參賽隊伍也將獲得金、銀和銅牌。而解題數在中等以下的隊伍會得到確認但不會進行排名。
評分標準
學術活動進行5個小時,一般有7道或以上試題,由同隊的三名選手使用同一臺計算機協作完成。當解決了一道試題之后,將其提交給評測機,由評測機判斷其是否正確。若提交的程序運行不正確,則該程序將被退回給參賽隊,參賽隊可以進行修改后再一次提交該問題。
程序判定結果有如下7種:
1、Accepted. ——通過!(AC)
2、Wrong Answer.——答案錯。(WA)
3、Runtime Error.——程序運行出錯,意外終止等。(RE)
4、Time Limit Exceeded. ——超時。程序沒在規定時間內出答案。(TLE)
5、Presentation Error. ——格式錯。程序沒按規定的格式輸出答案。(PE)
6、Memory Limit Exceeded. ——超內存。程序沒在規定空間內出答案。(MLE)
7、Compile Error. ——編譯錯。程序編譯不過。(CE)
學術活動結束后,參賽各隊以解出問題的多少進行排名,若解出問題數相同,按照總用時的長短排名。總用時為每個解決了的問題所用時間之和。一個解決了的問題所用的時間是學術活動開始到提交被接受的時間加上該問題的罰時(每次提交通不過,罰時20分鐘)。沒有解決的問題不記時。
例如:A、B兩隊都正確完成兩道題目,其中A隊提交這兩題的時間分別是比賽開始后1:00和2:45,B隊為1:20和2:00,但B隊有一題提交了2次。這樣A隊的總用時為1:00+2:45=3:45而B隊為1:20+2:00+0:20=3:40,所以B隊以總用時少而獲勝。
美國英語為學術活動的工作語言。學術活動的所有書面材料(包括試題)將用美國英語寫出,區域學術活動中可以使用其它語言。總決賽可以使用的程序設計語言包括pascal,c,c++及java,也可以使用其它語言。具體的操作系統及語言版本各年有所不同。
獎勵情況
區域賽一般分別按10%,20%,30%的比例頒發金,銀,銅獎,即一般情況(120隊伍)有12支隊伍獲金牌,24支隊伍獲銀牌,36支隊伍獲銅牌,其余為優勝獎。
總決賽前十名的隊伍將得到高額獎學金:第一名獎金為12000美元,第二名獎金為6000美元,第三名獎金為3000美元,第四名至第十名將各得到1500美元。除此之外還將承認北美冠軍、歐洲冠軍、南太平洋冠軍及亞洲冠軍。

? 2025. All Rights Reserved. 滬ICP備2023009024號-1