ACM程序设计大赛

ACM程序设计大赛

  
2003年的大赛活动现场

ACM程序设计大赛是大学级别最高的脑力竞赛,素来被冠以"程序设计的奥林匹克"的尊称。大赛自1970年开始至今已有30年历史,是世界范围内历史最悠久、规模最大的程序设计竞赛。比赛形式是:经过校级和地区级选拔的参赛组,于指定的时间、地点参加世界级的决赛,由3个成员组成的小组应用一台计算机解决6到8个生活中的实际问题。

目录

比赛目的
历史
规则
区域和全球决赛
2009-2010年第34届ACM-ICPC赛事介绍
历届冠军
  
  

 

比赛目的

  比赛参赛队员必须在5小时内编完程序并进行测试和调试。此种大赛对参赛学生的逻辑分析能力、策略制定和脑力方面具有极大的挑战性。大赛提倡在压力较大的情况下,培养学生的创造力、团队合作精神以解决竞赛的问题,从而挑选和发掘世界上最优秀的程序设计人才。

历史

  竞赛的历史可以上溯到1970年,当时在美国德克萨斯A&M大学举办了首届比赛。当时的主办方是the Alpha Chapter of the UPE Computer Science Honor Society。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为目前的一年一届的多国参与的国际性比赛。迄今已经举办了29届。
  最初几届比赛的参赛队伍主要来自美国和加拿大,后来逐渐发展成为一项世界范围内的竞赛。特别是自1997年IBM开始赞助赛事之后,赛事规模增长迅速。1997年,总共有来自560所大学的840支队伍参加比赛。而到了2004年,这一数字迅速增加到840所大学的4109支队伍并以每年10-20%的速度在增长。
  1980年代,ACM将竞赛的总部设在位于美国德克萨斯州的贝勒大学。
  在赛事的早期,冠军多为美国和加拿大的大学获得。而进入1990年代后期以来, 俄罗斯和其它一些东欧国家的大学连夺数次冠军。来自中国大陆的上海交通大学代表队则在2002年美国夏威夷第26届和2005年上海举行的第29届全球总决赛上两夺冠军。这也是目前为止亚洲大学在该竞赛上取得的最好成绩。赛事的竞争格局已经由最初的北美大学一枝独秀演变成目前的亚欧对抗的局面。

规则

  ACM/ICPC以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是入校5年内的在校学生,最多可以参加2次全球总决赛和4次区域选拔赛。
  比赛期间,每队使用1台电脑需要在5个小时内使用C、C++、Pascal或Java中的一种编写程序解决8或10个问题(通常是区域选拔赛8题,全球总决赛10题)。程序完成之后提交裁判运行,运行的结果会判定为正确或错误两种并及时通知参赛队。而且有趣的是每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球。
  最后的获胜者为正确解答题目最多且总用时最少的队伍。每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。例如:A、B两队都正确完成两道题目,其中A队提交这两题的时间分别是比赛开始后1:00和2:45,B队为1:20和2:10,但B队有一题提交了2次。这样A队的总用时为1:00+2:45=3:45而B队为1:20+2:10+0:20=3:50,所以A队以总用时少而获胜。
  与其它计算机程序竞赛(例如国际信息学奥林匹克,IOI)相比,ACM/ICPC的特点在于其题量大,每队需要5小时内完成8道题目,甚至更多。另外一支队伍3名队员却只有1台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。

区域和全球决赛

  赛事由各大洲区域预赛和全球总决赛两个阶段组成。各预赛区第一名自动获得参加全球总决赛的资格。决赛安排在每年的3-4月举行,而区域预赛一般安排在上一年的9-12月举行。一个大学可以有多支队伍参加区域预赛,但只能有一支队伍参加全球总决赛。
  全球总决赛第一名将获得奖杯一座。另外,成绩靠前的参赛队伍也将获得金、银和铜牌。而解题数在中等以下的队伍会得到确认但不会进行排名。

2009-2010年第34届ACM-ICPC赛事介绍

  2009年第34届ACM-ICPC亚洲区预选赛在中国大陆地区有五个赛区, 分别是哈尔滨赛区(由哈尔滨工业大学承办)、合肥赛区(由中国科学技术大学承办)、宁波赛区(由浙江大学宁波理工学院承办)、上海赛区(由东华大学承办)和武汉赛区(由武汉大学承办)。
  亚洲地区的高校可组队参加在亚洲的所有赛区的预选赛, 但每位参赛选手在一个年度内至多只能参加两个赛区的预选赛。2009年度亚洲区共设立了十五个赛区, 每个赛区的第一名将自动晋级全球总决赛。
  2010年的全球总决赛将由哈尔滨工程大学承办, 今年全球将有100支参赛队获得参加于2010年2月1日至6日在哈尔滨举行的全球总决赛资格。

历届冠军

  下面列出大 是自1977年以来,历年全球总决赛的冠军:
  年份 总决赛地点 冠军大学 国家
  2010年 中国哈尔滨 上海交通大学 中国
  2009年 瑞典斯德哥尔摩 圣彼得堡IT、机械和光学大学 俄罗斯
  2008年 加拿大圣彼得堡IT、机械和光学大学俄罗斯
  2007年 日本东京 华沙大学 波兰
  2006年 美国圣安东尼奥 萨拉托夫州立大学 俄罗斯
  2005年 中国上海 上海交通大学 中国
  2004年 捷克布拉格 圣彼得堡精密机械和光学学院 俄罗斯
  2003年 美国洛杉矶 华沙大学 波兰
  2002年 美国夏威夷 上海交通大学 中国
  2001年 加拿大温哥华 国立圣彼得堡大学 俄罗斯
  2000年 美国奥兰多 国立圣彼得堡大学 俄罗斯
  1999年 荷兰爱因霍芬 滑铁卢大学 加拿大
  1998年 美国亚特兰大 Charles University 捷克
  1997年 美国圣何塞 Harvey Mudd College 美国
  1996年 美国费城 加州大学伯克利分校 美国
  1995年 美国纳什维尔 Albert-Ludwigs-Universität Freiburg 德国
  1994年 美国菲尼克斯 滑铁卢大学 加拿大
  1993年 美国印第安纳波利斯 哈佛大学 美国
  1992年 美国堪萨斯城 墨尔本大学 澳大利亚
  1991年 美国圣安东尼奥 斯坦福大学 美国
  1990年 美国华盛顿 University of Otago 新西兰
  1989年 美国路易斯维尔 加州大学洛杉矶分校 美国
  1988年 美国亚特兰大 加州理工学院 美国
  1987年 美国圣路易斯 斯坦福大学 美国
  1986年 美国辛辛那提 加州理工学院 美国
  1985年 美国新奥尔良 斯坦福大学 美国
  1984年 美国费城 约翰霍普金斯大学 美国
  1983年 美国墨尔本 内布拉斯加大学 美国
  1982年 美国印第安纳波利斯 贝勒大学 美国
  1981年 美国圣路易斯 University of Missouri-Rolla 美国
  1980年 美国堪萨斯城 华盛顿大学圣路易斯分校 美国
  1979年 美国代顿 华盛顿大学圣路易斯分校 美国
  1978年 美国底特律 麻省理工学院 美国
  1977年 美国亚特兰大 密歇根州立大学 美国
扩展阅读:
     1  第33届ACM程序设计大赛落幕 清华、浙大摘金夺银http://www.kuqin.com/contest/20090423/47644.html
     2  第33届竞赛题目官方网站公开(PDF)(下载地址http://cm2prod.baylor.edu/resources/pdf/2009Problems.pdf

     3  第33届完全的结果http://cm2prod.baylor.edu/ICPCWiki/Wiki.jsp?page=Results%20World%20Finals%202009
开放分类:
计算机程序设计ACM
posted on 2011-05-20 11:01  COS  阅读(1014)  评论(0编辑  收藏  举报