那些年,我们一起参加过的ACM

编者按:北京大学120周年校庆系列活动之一、第42届ACM-ICPC国际大学生程序设计竞赛全球总决赛即将于2018年4月15-20日在北京大学举行。本届大赛共有49935名来自全球六大洲111个国家和地区、3098所高校的选手报名参赛。其中,来自51个国家和地区的140个团队从各大洲区域赛中脱颖而出,晋级全球总决赛。

北京大学有一支队伍出战本次全球总决赛。这支队伍由信息科学技术学院2016级本科生吉如一、信息科学技术学院2017级本科生洪华敦、数学科学学院2017级本科生丁力煌三位同学组成,信息科学技术学院特聘研究员罗国杰博士担任教练。

北京大学官方微信记者有幸采访到了第40届ACM-ICPC选手、信科2013级本科生李煜东和信科2014级本科生沈洋。让我们跟随他们的脚步,走近ACM。

结缘ACM

理科一号楼1318机房跟北大同学通常去的机房有点不大一样。几张大桌子上各摆放着一台宽屏电脑,旁边杂乱地堆着大叠草稿纸。这里是历届北大ACM-ICPC选手日常训练的地方。走进机房,听到的是大家热烈讨论的声音,还有手指飞快敲击键盘的响声。电脑显示的题目界面上随着敲击蹦出一行接一行的代码,难以想象,在几分钟之后,眼前的各种字符、字母经过计算会顺利地导出一个漂亮的结果。1318机房迎来又送走了一届届ACM-ICPC的选手,见证着他们的汗水、紧张与喜悦。

理科一号楼1318机房

散落在桌上的草稿纸,上面是ACM的训练题

ACM-ICPC国际大学生程序设计竞赛由国际计算机协会(ACM)主办,是世界上规模最大、水平最高的国际大学生程序设计竞赛之一。比赛时间为5个小时,所有题目均以英语写出。同队的三名选手可以使用C、C++、Java、Python2、Python3和Kotlin语言在一台计算机上共同解决7到13个生活中的实际问题。竞赛依据参赛各队解出问题的数目以及总用时排名。

北京大学与ACM大赛的缘分始于2000年。从2002年开始,北京大学每年都有代表队参与比赛。2005年,北大代表队首次进入全球总决赛,此后一直未曾缺席,并于2014年在全球总决赛中获得金牌(第三名)的历史最好成绩。

“我们三个高中时都是打信息竞赛的,所以很早就认识了。我和丁力煌还是一次比赛时打‘狼人杀’认识的。”回忆组队的经过时,洪华敦笑着说。尽管在大学里还是“新生”,但从初中就开始接触计算机的参赛选手们早已是信息竞赛领域身经百战的老将,参加ACM大赛成为了他们上大学后顺理成章的一个选择。同时,这也是三人弥补高中与信息竞赛国家队失之交臂的遗憾的一种方式。队长吉如一补充:“我其实去年也参加了ACM,只拿了全球总决赛的银牌,有些不甘心。今年是我能参加比赛的最后一次机会,所以不想错过。”

第42届选手在区域赛领奖的照片(从左至右分别为丁力煌、洪华敦、吉如一)

未竟的梦想鞭策着三人不断努力训练。开学以来,他们会在每天下午两点半到七点半雷打不动地出现在1318机房进行训练;刚刚过去的寒假里,三人在学校一直待到过年前一个星期才回家。采访当天,三人刚刚结束在俄罗斯圣彼得堡国立信息技术机械与光学大学(ITMO University)举办的训练营,还没倒过时差来。按照队长吉如一的话说,他“拿着刀子都得逼着他们训练”。

天赋和努力,似乎是每一届优秀选手身上必不可少的两种特质。当被问起“选手获奖最关键的因素”时,罗教练不假思索地答道——夺冠的野心。“他们要有强烈的、想要登上最终领奖台的意识。他们的目标和动机会体现在日常的训练中,比如投入在这上面的时间、每次训练结束后的总结等等。在日常课程压力下,选手们还能以极高的热情为比赛付出这么多时间和精力,这是很不容易的。”

准备比赛固然艰辛,但三人实际上也在“苦中作乐”,享受这一过程。到沈阳和新疆参与区域赛、前往俄罗斯训练的经历不仅让他们体验了不同地方的风土人情,更得到了与顶尖选手们交流的机会。“有时你不敢相信,比赛时你的前后左右都是论坛上被膜拜的大神,Codeforces(一家为计算机编程爱好者提供在线评测系统的俄罗斯网站)排名前三的大神站在黑板前给你讲题目,甚至最后你还能跟他成为很好的朋友。”

与俄罗斯选手的合影

第40届选手沈洋最早在小学时就接触到了计算机。“我爸是学计算机的,所以我家很早就有电脑。我四五年级的时候老喜欢玩电脑游戏,我爸看不下去了,就让我去学编程。当时都是个人开发者在编电脑程序,我就觉得很厉害,自己也想编个程序。”高中时期,沈洋也为信息竞赛付出了很多,“那时候我每天待在机房里刷题,直到拿到NOI的奖牌。”

ACM的参赛经历对于站在毕业和工作时间点上的两人而言不仅仅意味着简历上的一个闪光点。比赛结束后,李煜东还写了一本跟ACM竞赛有关的书:《算法竞赛进阶指南》,“也算是为后来人提供了一点自己的较为系统性的总结吧。”

李文新领队和第40届选手在赛场(前排从左至右分别为沈洋、章玄润、李煜东)

ACMer在北大

北京大学信息科学技术学院正式成立于2002年,最早可以追溯到上世纪50年代数学力学系的计算数学专业和物理系的无线电物理、电子物理、半导体物理专业。学院现在有计算机科学与技术、电子科学与技术、信息与通信工程、软件工程4个一级学科,教职工398人、全日制学生2667人,是北京大学规模最大的教学单位。

谈到最初选择北大信科的原因时,沈洋和李煜东都表示,他们非常欣赏北大信科“支持每一个学生自由发展”的理念。“就好比我们打ACM比赛,学院的培养方案是,你不能单搞ACM,你别的方面的经历也得和其它同学一样丰富。”北大和信科支持学生多线、多元发展,给了学生更多的想象空间。“如果你是读PhD、走学术道路的苗子,学院有暑期学校和很多出国交流的机会,让大家能参加国际上的大型会议、发表文章,为以后的申请做好铺垫;如果有同学一入学就是奔着ACM比赛来的,有明确的拿到一个好名次的目标,学院也会在课程设置等方面尽量减少大家的压力。”

据罗国杰教练介绍,为了使参赛选手们的时间投入“珍贵化”,学院在不同时期为同学们配套了相应的课程。比如暑期训练有2学分的课程,区域赛的训练和成绩相当于4学分的课程,总决赛是6学分的课程。

回首在北大信科度过的四年时光,两名同学感悟很深。沈洋认为,在北大四年于他是一个开阔眼界的过程。他从前觉得努力考到好学校就成功了,“理想”这个词离自己很远。但来到北大,遇见许多优秀的同学与老师、见到更大的世界后,自己慢慢有了新的思考和想法。

让沈洋颇有感触的是,自己的四年大学生涯里,每一年做的事情都是完全不一样的。大一时他想做一名“码农”,工作稳定,工资也高;后来随着见识增多,逐渐觉得这种选择缺乏挑战性,于是沈洋的目光开始转向科研,因为它“可以改变世界”;一年的学术生涯后,他又看到了新的机会:无人驾驶。“难得的是能够在毕业的时候遇到某个行业的爆发期,我不想错过这个好机会。”现在的他已经拿到了理想工作的offer。“在北大,每个人都有很多尝试的机会,能够真正根据自己的兴趣和特长找到自己的可能性。最后就是如何发现有潜力的选项、在当下做出一个最好的选择的问题吧。”

信科人也有“经世济民”的情怀。许多北大信科的毕业生会选择前往世界顶尖大学继续攻读硕士或博士学位,在科研的道路上不断“拓宽人类的知识边界”;也有许多同学会选择创业,改变着人们的日常生活与习惯。沈洋认为,信科人应该坚定自己的兴趣,不随波逐流、人云亦云。另外,现在时代和行业的发展变化很快,信科人也要不断提高自己,跟上时代的步伐。

展望ACM

今年是罗国杰担任北大ACM竞赛教练员的第六年。六年间,罗教练遇到了形形色色的参赛选手。在他看来,北大的学生“越来越聪明了”。接受采访时,他谈到,尽管在ACM全球总决赛中拿奖的难度较大,但他希望能看到更多信科以外的同学参与进来,同时也希望大家能摆脱“有竞赛背景才能参加ACM比赛”的思维定式,因为有些同学在这方面的才能在大学时期才表现出来。今年参赛的三名选手中,就有一位同学来自数学科学学院,这让罗教练感到很欣喜:“我希望理工科的同学,甚至人文社科方向的同学也能多多关注和参与我们的比赛,从而提高北大ACM参赛选手的多样性与比赛的普及度。”

第40届选手们的气球和奖杯

文/施林彤、程格格、王莹洁、张丰哲 图/受访者提供

编辑:山石

转载本网文章请注明出处