国际大学生程序设计竞赛(英文全称:International Collegiate Programming Contest(简称ICPC))是由国际计算机协会(ACM)主办的。ACM国际大学生程序设计竞赛已经发展成为全球最具影响力的大学生程序设计竞赛。(以下简称ACM-ICPC)。
ACM-ICPC以团队的形式代表各学校参赛,每队由至多3名队员组成。每位队员必须是在校学生,有一定的年龄限制,并且每年最多可以参加2站区域选拔赛。比赛期间,每队使用1台电脑需要在5个小时内使用C/C++、Java中的一种编写程序解决7到13个问题。程序完成之后提交OJ(在线评测系统)运行,运行的结果会及时通知参赛队。
最后的获胜者为正确解答题目最多且总用时最少的队伍。每道试题用时将从竞赛开始到试题解答被判定为正确为止,其间每一次提交运行结果被判错误的话将被加罚20分钟时间,未正确解答的试题不记时。与其它计算机程序竞赛(例如国际信息学奥林匹克,IOI)相比,ACM-ICPC的特点在于其题量大,每队需要在5小时内完成7道或以上的题目。另外,一支队伍3名队员却只有1台电脑,使得时间显得更为紧张。因此除了扎实的专业水平,良好的团队协作和心理素质同样是获胜的关键。
ACM-ICPC特点:
1.参赛队伍最多由三名参赛队员组成。
2.竞赛中命题10题左右,试题描述为英文,比赛时间为5个小时左右,前四个小时可以实时看到排名,最后一小时封榜,无法看到排名。
3.竞赛可以使用的语言:Java, C, C++。
4.重点考察选手的算法和程序设计能力,不考察实际工程中常用的系统编程,多线程编程等等。
5.选手可携带任何非电子类资料,包括书籍和打印出来的程序等,部分赛区会对选手携带的纸质资料做限制。
6.评委负责将结果(正确或出错的类型)通过网络尽快返回给选手,除此之外不提供任何额外帮助。
7.每个题目对应一种颜色的气球,通过该题目的队伍会得到对应颜色气球。
程序判定结果有如下7种:
1、Accepted. ——通过!(AC)
2、Wrong Answer.——答案错。(WA)
3、Runtime Error.——程序运行出错,意外终止等。(RE)
4、Time Limit Exceeded. ——超时。程序没在规定时间内出答案。(TLE)
5、Presentation Error. ——格式错。程序没按规定的格式输出答案。(PE)
6、Memory Limit Exceeded. ——超内存。程序没在规定空间内出答案。(MLE)
7、Compile Error. ——编译错。程序编译不过。(CE)
赛事由各大洲区域预赛和全球总决赛两个阶段组成。其中各预赛区第一名自动获得参加全球总决赛的资格;奖牌名额是ICPC总部根据上一年度总决赛结果直接分配给获得奖牌的特定学校的名额;全球总决赛第一名将获得奖杯一座。另外,成绩靠前的参赛队伍也将获得金、银和铜牌。而解题数在中等以下的队伍会得到确认。竞赛进行5个小时,一般有7道或以上试题,由同队的三名选手使用同一台计算机协作完成。
竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时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队以总用时少而获胜。
ACM-ICPC意义:
竞赛规定每支参赛队伍至多由三名在校大学生组成,他们需要在规定的五个小时内解决八个或更多的复杂实际编程问题。每队使用一台电脑,参赛者争分夺秒,与其他参赛队伍拼比逻辑、策略和心理素质。团队成员将在多名专家裁判的严格督察下通力合作,对问题进行难度分级、推断出要求、设计测试平台并构建软件系统,最终成功地解决问题。对于一名精通计算机科学的学生而言,有些问题只是精确度的问题;而有些则需要学生了解并掌握高级算法;还有一些问题是普通学生无法解决的,不过对于那些最优秀的学生而言,这一切都不在话下。竞赛的评判过程十分严格。分发给学生的是问题陈述,而不是要求须知。他们会收到一个测试数据实例,但无法获得裁判的测试数据和接受标准方面的信息。若每次提交的解决方案出现错误,就会受到加时惩罚。毕竟,在处理顶级计算问题时,谁也不想浪费客户的时间。在最短的累计时间内,提交次数最少、解决问题最多的队伍就是最后的胜利者。
来源:CSDN
作者:斗code年华
链接:https://blog.csdn.net/sinat_26523761/article/details/103463128