• 设为首页
  • 加入收藏
计算机实验教学中心
您现在的位置: 网站首页 >> 开放创新 >> 学科竞赛
学科竞赛
2012-03-05ACM程序设计大赛
点击数:()发布时间:2012-03-05

ACM程序设计大赛是大学级别最高的脑力竞赛,素来被冠以"程序设计的奥林匹克"的尊称。大赛自1970年开始至今已有30年历史,是世界范围内历史最悠久、规模最大的程序设计竞赛。比赛形式是:经过校级和地区级选拔的参赛组,于指定的时间、地点参加世界级的决赛,由3个成员组成的小组应用一台计算机解决6到8个生活中的实际问题。
1 历史
竞赛的历史可以上溯到1970年,当时在美国德克萨斯A&M大学举办了首届比赛。当时的主办方是the Alpha Chapter of the UPE Computer Science Honor Society。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为目前的一年一届的多国参与的国际性比赛。迄今已经举办了36届。
最初几届比赛的参赛队伍主要来自美国和加拿大,后来逐渐发展成为一项世界范围内的竞赛。特别是自1997年IBM开始赞助赛事之后,赛事规模增长迅速。1997年,总共有来自560所大学的840支队伍参加比赛。而到了2004年,这一数字迅速增加到840所大学的4109支队伍并以每年10-20%的速度在增长。
1980年代,ACM将竞赛的总部设在位于美国德克萨斯州的贝勒大学。
在赛事的早期,冠军多为美国和加拿大的大学获得。而进入1990年代后期以来, 俄罗斯和其它一些东欧国家的大学连夺数次冠军。来自中国大陆的上海交通大学代表队则在2002年美国夏威夷第26届、2005年上海举行的第29届全球总决赛和2010年哈尔滨举行的34届全球总决赛上三夺冠军。浙江大学代表队则在2011年35届全球总决赛上首夺冠军。这也是目前为止亚洲大学在该竞赛上取得的最好成绩,赛事的竞争格局已经由最初的北美大学一枝独秀演变成目前的亚欧对抗的局面。

2比赛目的

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

3评分办法

竞赛进行5个小时,一般有6—8道试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。程序运行不正确是指出现以下5种情况之一:
(1)运行出错(run-timeerror);
(2)运行超时〔time-limitexceeded);
(3)运行结果错误(wronganswer);
(4)运行结果输出格式错误(presentationerror)。
(5)运行内存溢出( Memory Limit Exceeded);
竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时20分钟)。没有解决的问题不记时。美国英语为竞赛的工作语言。竞赛的所有书面材料(包括试题)将用美国英语写出,区域竞赛中可以使用其它语言。总决赛可以使用的程序设计语言包括pascalcc++java,也可以使用其它语言。具体的操作系统及语言版本各年有所不同。

4历史赛事

2009-2010年ACM-ICPC赛事介绍
2009年第34届ACM-ICPC亚洲区预选赛在中国大陆地区有五个赛区, 分别是哈尔滨赛区(由哈尔滨工业大学承办)、合肥赛区(由中国科学技术大学承办)、宁波赛区(由浙江大学宁波理工学院承办)、上海赛区(由东华大学承办)和武汉赛区(由武汉大学承办)。
亚洲地区的高校可组队参加在亚洲的所有赛区的预选赛, 但每位参赛选手在一个年度内至多只能参加两个赛区的预选赛。2009年度亚洲区共设立了十五个赛区, 每个赛区的第一名将自动晋级全球总决赛。
2010年的全球总决赛由哈尔滨工程大学承办, 全球有100支参赛队获得参加于2010年2月1日至6日在哈尔滨举行的全球总决赛资格。
2010年第35届ACM-ICPC亚洲区预选赛在中国大陆地区有五个赛区, 分别是哈尔滨赛区(由哈尔滨工程大学承办)、天津赛区(由天津大学承办)、成都赛区(由四川大学承办)、杭州赛区(由浙江理工大学承办)和福州赛区(由福州大学承办)。
第36届ACM国际大学生程序设计竞赛中国大陆共有5个赛区,分别为大连赛区大连理工大学承办)、上海赛区复旦大学承办)、北京赛区北京邮电大学承办)、成都赛区成都东软学院承办)和福州赛区福建师范大学承办)。
第37届ACM国际大学生程序设计竞赛中国大陆共有5个赛区,分别为长春赛区东北师范大学承办)、天津赛区天津理工大学承办)、杭州赛区浙江理工大学承办)、金华赛区浙江师范大学承办)和成都赛区成都东软学院承办)。

5规则

ACM/ICPC以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是入校5年内的在校学生,最多可以参加2次全球总决赛和5次区域选拔赛。
比赛期间,每队使用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台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。

6决赛介绍

赛事由各大洲区域预赛和全球总决赛两个阶段组成。各预赛区第一名自动获得参加全球总决赛的资格。决赛安排在每年的3-4月举行,而区域预赛一般安排在上一年的9-12月举行。一个大学可以有多支队伍参加区域预赛,但只能有一支队伍参加全球总决赛。
全球总决赛第一名将获得奖杯一座。另外,成绩靠前的参赛队伍也将获得金、银和铜牌。而解题数在中等以下的队伍会得到确认但不会进行排名。
网站首页 | 中心概况 | 新闻动态 | 实验教学 | 教学成果 | 开放创新 | 实验开发 | 职业认证 | 资料下载 | 教学服务 | 自制系统