• 1.摘要
  • 2.基本信息
  • 3.活动背景
  • 4.活动流程
  • 5.评分办法
  • 6.脑力之争
  • 7.ICPC
  • 8.ACM
  • 9.历届冠军
  • 10.中国竞赛
  • 10.1.亚洲区预选赛
  • 10.2.世界总决赛
  • 11.比赛情况
  • 12.参考资料

acm国际大学生程序设计竞赛

国际计算机协会主办的赛事

ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest),历史可以上溯到1970年,当时在美国德克萨斯A&M大学举办了首届比赛。当时的主办方是the Alpha Chapter of the UPE Computer Science Honor Society。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为一年一届的多国参与的国际性比赛。

基本信息

  • 中文名

    acm国际大学生程序设计竞赛

  • 定义

    国际计算机协会主办的赛事

  • 主办机构

    国际计算机协会

  • 起源时间

    1970年

  • 简称

    ICPC

  • 外文名

    ACM International Collegiate Programming Contest

  • 适用人群

    大学生

  • 赞助方

    AWS、华为和Jetbrains

活动背景

ACM国际大学生程序设计竞赛的历史可以上溯到1970年,当时在美国德克萨斯A&M大学举办了首届比赛。当时的主办方是the Alpha Chapter of the UPE Computer Science Honor Society。作为一种全新的发现和培养计算机科学顶尖学生的方式,竞赛很快得到美国和加拿大各大学的积极响应。1977年,在ACM计算机科学会议期间举办了首次总决赛,并演变成为一年一届的多国参与的国际性比赛。

最初几届比赛的参赛队伍主要来自美国和加拿大,后来逐渐发展成为一项世界范围内的竞赛。特别是自1997年IBM开始赞助赛事之后,赛事规模增长迅速。1997年,总共有来自560所大学的840支队伍参加比赛。而到了2004年,这一数字迅速增加到840所大学的4109支队伍并以每年10-20%的速度在增长。

1980年代,ACM将竞赛的总部设在位于美国德克萨斯州的贝勒大学。

在赛事的早期,冠军多为美国和加拿大的大学获得。而进入1990年代后期以来,俄罗斯和其它一些东欧国家的大学连夺数次冠军。来自中国大陆的上海交通大学代表队则在2002年美国夏威夷的第26届、2005年上海的第29届和2010在哈尔滨的第34届的全球总决赛上三夺冠军,浙江大学参赛队在美国当地时间2011年5月30下午2时结束的第35届ACM国际大学生程序设计竞赛全球总决赛荣获全球总冠军,成为除上海交通大学之外唯一获得ACM国际大学生程序设计竞赛全球总决赛冠军的亚洲高校。这也是目前为止亚洲大学在该竞赛上取得的最好成绩。赛事的竞争格局已经由最初的北美大学一枝独秀演变成当前的亚欧对抗局面。

2015年全球总决赛,圣彼得堡国立资讯科技、机械与光学大学AC了所有题目(13道),成为了ACM-ICPC历史上第一支在全球总决赛中AK的队伍,也成为了历史上获得ACM-ICPC全球总决赛冠军次数最多(6次)的队伍,这一表现,被当场比赛主持人称作the best of best of best。

2018年4月,ACM-ICPC在中国北京举行,由北京大学承办,最终北京大学最后时候完成G题夺得金牌。

2023年3月,华为杯第47届icpc国际大学生程序设计竞赛(international collegiate programming contest)(亚洲区)决赛上,同济大学学生代表队从全国314支队伍中脱颖而出,分别获得1金1银1铜。1

活动流程

简要规则

ACM-ICPC以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是在校学生,有一定的年龄限制,并且最多可以参加2次全球总决赛和5次区域选拔赛。

ACM-ICPC

比赛期间,每队使用1台电脑需要在5个小时内使用C、C++、Pascal或Java中的一种编写程序解决7到11个问题。程序完成之后提交裁判运行,运行的结果会判定为正确或错误两种并及时通知参赛队。而且有趣的是每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球。

最后的获胜者为正确解答题目最多且总用时最少的队伍。每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚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队以总用时少而获胜。

与其它计算机程序竞赛(例如国际信息学奥林匹克IOI)相比,ACM-ICPC的特点在于其题量大,每队需要5小时内完成8道题目,甚至更多。另外一支队伍3名队员却只有1台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。

竞赛流程

1.参赛队伍最多由三名参赛队员组成。

2.竞赛中至少命题6题,至多命题10题,试题描述为英文,比赛时间为5个小时。

3.竞赛可以使用的语言:C++、C、Java和Pascal。但final赛只有C/C++、Java;