如果真正是在计算机领域做学问的话,对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