如果真正是在電腦領域做學問的話,對ACM的大名一定不會陌生,ACM的全稱是Association for Computing Machinery(美國電腦學會),建立於1947年,是世界上第一個教育和科研的,也是最有影響的電腦群組織。今天,ACM已經有超過8萬個成員,遍布在世界各地。ACM的主要活動包括一些專題的興趣小組(SIGs Special Interesting Groups),每年要組織一系列高水平的學術會議,還有一些面向不同層次的學術競賽,ACM/ICPC就是其中之一。
ACM/ICPC(ACM International Collegiate Programming Contest),即ACM國際大學生程式設計競賽,是由ACM協會提供給大學生的一個展示和提高解題與編程能力的機會。面向全世界的大學生,分為地區賽和決賽,地區賽的優勝者(通常是前兩名)有資格參加決賽,決賽的頒獎儀式將和電腦界權威的學術獎——圖靈獎的頒獎儀式同時進行。
ACM競賽有著獨特的賽制,比賽是以參賽隊為單位的,每隊三個人,每支隊伍至少有兩名參賽隊員必須是大學本科尚未畢業的學生,所有參賽隊員的學曆不可以超過研究生兩年。在賽場上,為了體現團體協作精神,三個人共用一台電腦,可以攜帶一切書面材料。比賽時間一般是4-5個小時,共有6-10道題,按照解答的題目多少和解答所用的時間長短決定名次。
對於每道題目,參賽隊必須寫出解決該題的程式原始碼,提交給裁判,由裁判編譯得到可執行程式,如果對於所有的輸入資料該程式都能在規定的時間內得到正確的結果,才能夠獲得通過。測試資料通常極為嚴格。當某個隊通過了一道題時,工作人員會在這個隊的電腦前插上一個代表這道題顏色的氣球,這樣所有比賽的情況一目瞭然,為了增加比賽的緊張氣氛,比賽結束前一個小時,停止公布所有的成績
競賽涵蓋的範圍很廣,大致劃分如下:Direct(簡單題),Computational Geometry(計算幾何),Number Theory(數論),Combinatorics(組合數學),Search Techniques(搜尋技術),Dynamic Programming(動態規劃),Graph Theory(圖論),Other(其他)。
目前ACM/ICPC由IBM贊助,全球地區賽共分若干個賽區,數十個賽點。中國學生可以報名參加亞洲賽區的任何賽點的比賽(從2004年開始,大陸各賽點將增加一輪地區賽的預選賽)。比賽支援C/C++,Java,Pascal等語言
線上評測系統(Online Judge)
國內:
浙江大學ACM網址: http://acm.zju.edu.cn/
北京大學ACM網址:http://acm.pku.edu.cn
哈爾賓工業大學ACM網址:http://acm.hit.edu.cn
國外:
USACO:http://ace.delos.com/usacogate/
西班牙網站http://acm.uva.es
俄羅斯網站http://acm.timus.ru
討論區
武漢大學、北京大學、南京大學、上海交大、中山大學BBS的ACM/ICPC討論區
ICPC官方網站:http://icpc.baylor.edu/icpc/
轉自:http://hi.baidu.com/welflau/blog/item/3ec28a0a4464413db0351d67.html