在美国,主办方工作人员与获奖的选手们合影留念。
6月1日,快报报道了浙江大学三位学生获得第35届ACM国际大学生程序设计竞赛全球总决赛冠军的消息。前几天三位学生回到了浙大。这段时间他们是浙大的名人。昨天,他们接受了快报采访,讲述夺得程序设计竞赛冠军的故事。
全球大学生计算机竞赛由ACM(美国计算机协会)主办,有30多年历史,这些年一直由IBM赞助,夺冠难度相当大。大赛是分赛区的,全球共有88个国家的2070个大学组成8305支队伍,进总决赛的是30多个国家和地区的105支队伍。大赛像世界杯一样,之前先要预赛,像麻省理工大学和哈佛大学分在同一个赛区,哈佛就被麻省PK下去了。麻省理工大学本次大赛最后排名是第27位。
这是世界上最顶尖的大学生国际级计算机类赛事,被称为“计算机领域奥林匹克竞赛”。
大赛举行30多年来,除了浙大今年获得本届比赛冠军,整个亚洲只有上海交通大学,在2002年、2005年、2010年获得过三次全球总决赛冠军。三位同学的获奖,对浙江来说是零的突破。
计算机比赛是这么进行的 解决一道题升一个气球
第35届程序设计大赛原本设在埃及,因为埃及政局不稳,比赛地点临时改在了美国佛罗里达州城市奥兰多。
在全球计算机大赛中,各大学组团参赛,每支队伍由3位队员组成。整个团队只能使用1台电脑,要在5个小时内用C、C++或Java中的任意一种程序语言编写程序,解决11个问题。正确解答题目最多并且用时最少的队获胜。
竞赛队教练,是浙大计算机学院的王灿老师。他说,在编程大赛现场,解决一个问题,主办方便会发给团队一个气球。在现场,当你看到别的团队的气球升起来时,压力是很大的。这次比赛共耗时5小时,在前4个小时,你还可以看到各队伍解决了多少问题,排名第几。而在最后一个小时,美国的主办方为了增加悬念,封存了排行榜。在封存前,清华排第一,浙大排第四。在最后一小时内,浙大队伍一举解决了两个问题,实现反超,赢得第一,当时非常激动。
浙江大学计算机学院副院长陈越教授,曾是带队老师。陈越说,比赛当天主办方是全球直播的,当时是国内的晚上,浙大有很多学生在网站上看大赛直播,大家都很兴奋。
陈越说,程序设计是计算机领域的基础,和你我的生活都有关。最简单的理解就是:所有计算机都离不开程序设计,而现在有多少人的生活和计算机没有关系呢?
比赛题目很多是生活中的实际问题
昨天,3位获奖队员回忆了一些比赛题:
能吸引越多顾客的地方,地价越高。对于热爱咖啡的人来说,他们不愿意走太远的路去享受咖啡。现在给定这些咖啡爱好者的位置,以及他们能容忍的步行距离,房地产商希望知道能吸引最多咖啡爱好者的地点是哪里,以便修建咖啡厅,吸引人过来。
给定一些采矿点,以及采矿点间通道,矿主可以在某些采矿点上设立救生通道,但矿主为了降低成本,希望通过设立最少的救生通道,使得假如有一个矿及其直接相连的通道坍塌了,其余采矿点的矿工仍能到达救生通道,确保人身安全。
地铁站间的运行时间表通常都是精确到分钟的,而实际上运行时间不全都是整分钟的,现在给定地铁站之间的真实运行时间,要求给出相应的运行时间表(通过向上或向下取证,精确到整分钟),使得运行时间表与真实运行时间之间相差总和最小。
容量越大的粉碎机造价越贵,给定报废机器的外形(多边形),求粉碎机的最小宽度,使得报废机器能够竖直放入粉碎机中。
给你一些山川的地形,假设外围被大海包围,在下大暴雨后,会形成多少个湖,并给出每个湖的深度。
这些题的解题思路及过程,对于计算机外行来说,是很难理解的。欧阳嘉林为我们介绍了“粉碎机”这道题的大致解题思路。
要使得粉碎机的宽度最小,废弃机器(多边形)的两个顶点一定是同时紧贴粉碎机内壁的。有了这个大胆的假设,只要选定两个顶点,首先判断整个多边形是否在这两个顶点连线的同一侧,然后求出离两点连线最远顶点的距离。这就是选定两个顶点紧贴粉碎机内侧时,粉碎机的最小宽度。
所以,只要枚举所有合法的顶点组合,求出所有最大距离中的最小值即可。
陈越教授说,参加这项比赛,考验学生的多项能力,首先是编程能力,在这方面,三个孩子已经是世界级的优秀程序员。其次是算法分析能力,即在最短时间找到最快解决问题的能力。最后还考验学生的团队合作能力。浙大的三个学生认识多年,已经有了默契,几乎每题都是两人合作完成,而有些队每个选手都很强,但只是单打独斗。
这次比赛,三位同学共获得了12000美元的奖金。昨天,他们都说要继续读书,打算以后从事学术工作。
这是学生们平时训练的实验室
巫泽俊
欧阳嘉林
莫璐怡
浙大获奖的三位学生,分别是巫泽俊(计算机学院研一男生)、欧阳嘉林(计算机学院研一男生)和莫璐怡(数学系大四女生),都是清瘦型的体型。不过,用他们带队老师王灿的话讲,都是“聪明脑袋”,因为在ACM计算机程序设计竞赛宣传中,都说这是全世界最聪明的人参加的比赛。
他们组成的团队叫Arc Of Dream ,这是一首歌的名字,是巫泽俊同学取的,这是他喜欢玩的游戏里的一个插曲。
巫泽俊是福建宁化一中的学生,当年高考进入浙大数学系,进大学前没有接触过电脑编程。在学了计算机编程的C语言后,开始爱上电脑编程。他说程序设计题都很有趣,解决一个问题的过程非常好玩。程序设计这个活动需要投入比较多的时间,没有兴趣是很难坚持下来的。
欧阳嘉林是广东中山一中的学生。他说,自己初中开始就接触计算机了,高中时参加数学竞赛和计算机竞赛,得过不少数学和信息学的奖项。最后是以全国青少年计算机分区联赛一等奖的成绩保送浙江大学竺可桢学院,读计算机专业。
他感觉,编程给他带来学习方法的锻炼,一般在中学时学生在老师带领下通过做作业来学知识,而他在中学和大学的计算机竞赛中,学会了通过自己学习解决实际问题,大部分的知识都通过自己学习,这是最大的收获。
莫璐怡是大四学生,中学在广州六中读。她也是因为信息学竞赛得奖而保送浙江大学的。这位个子高高的女孩子选择数学专业,是因为数学是基础专业,可以为将来的发展打下基础,在选专业时也有更多选择。
莫璐怡是近30年来ACM大赛总冠军里唯一的女生。她没上小学就开始接触电脑了,小学时候参加打字比赛,还得过广州第一名。
初中时第一次参加信息学竞赛得了奖。从初一到高二,莫璐怡花了大量时间在程序设计上,她觉得学编程最大的收获是思维方式的锻炼。通过不同的方法去看同一个问题,用不同的方法去解决。
她最近被保送香港大学读计算机博士。莫璐怡说,她觉得香港的研究条件和环境比内地要好,而且她是广东人,更适合香港的文化,也想离家近一点,所以选择在香港读博。
他们是怎么
喜欢上计算机的?
探访浙大程序设计队的训练实验室
每年四五月份,浙大就开始选拔程序设计比赛的选手,通过浙江大学的校赛,或者在浙江省内高校之间的省赛,从中选拔合适的人才去参加比赛。
浙大的程序设计团队,主要用暑假时间组织训练。平时一般用周末时间训练,每周训练两次。
昨天,我们去了学生们平时训练的实验室,宽敞的实验室里,每个桌子上放着电脑。为了有个安静的环境,窗帘全部拉起来钉死了,桌面有些杂乱,这三位学生就在这个实验室训练,成就了今天的好成绩。
陈越教授说,他们把米卢的快乐足球理念,引申到了计算机竞赛上,提倡“快乐竞赛”。学生上课是第一的,出于乐趣和兴趣去参加比赛,就像一个人打游戏,想要赢,总要不断打怪升级。浙大对得奖并没有太在乎,这些年只是偶尔得奖,大家还是很开心地在参加比赛。
带队老师王灿说,这个比赛能提高学生程序设计竞赛的水平,促进学科的发展。对参加的学生来讲,能提高分析问题解决问题的能力,当然,学生毕业了也更好找工作。如果在就业时有参加计算机竞赛的经历,那很受国内外大型IT企业的欢迎。
在全球程序设计的“江湖”里
杭十四中曾出了一个
被称作“楼教主”的超级牛人
昨天,接受采访的三位同学,大概是因为不熟悉的缘故,话有点少,但说起程序设计大赛的事,都慢慢地眉飞色舞起来。
在编程这一领域,也有圈子。除了一些大学生,一些IT企业的技术人员出于兴趣会参加一些比赛。很多顶级的高手参加这个项目,目的也许就是好玩。在程序设计大赛方面,全球有很多高手,有一位是杭州男生,毕业于杭十四中,2004年保送清华大学,江湖人称“楼教主”——楼天成同学。
昨天,在百度百科上搜到了他的资料。百度介绍楼天成:“是目前中国公认的大学生计算机编程第一人,经常以一人单挑一个队,在IOI、ACM界无人不晓其大名,人称为楼教主。2004年保送进清华大学计算机系,2008年进入全球唯一华人图灵奖(被称为计算机诺贝尔奖)得主姚期智院士领导的清华大学理论计算机中心攻读博士。”
巫泽俊曾经看过“楼教主”比赛,描绘起当时比赛的情景来,绘声绘色:在国内比赛,楼教主常常以一个人的力量,把别的团队远远抛在后面。在一次北京或上海的亚洲区程序设计大赛预赛中,楼教主在很短时间内升起了两个气球,这让全场选手都傻了眼,他们都还没时间反应过来……
楼天成去国外比赛时,也是一路领先。但“楼教主”的团队不幸遇到了两个实力很强合作很好的团队,所以,在2007年东京第31届ACM总决赛和2009年第33届瑞典斯德哥尔摩ACM总决赛中,都只是屈居亚军。
据都市快报 胡信昌 周炜