不知不觉屏幕上的倒计时定格在0:00:00,第34届ACM/ICPC全球总决赛至此缓缓落下帷幕。经过五小时的苦战、略显疲惫的我们站在赛场上,看着来自世界33个国家和地区的一百多支队伍,三个人心里滋味百般——是为前期的状态低迷感到遗憾,还是为最后一小时的逆转感到欣慰?是为能跟来自全球的优秀选手同台竞技感到荣幸,还是为在比赛中看到跟他们的差距感到压力……全球第36名,我们XDU_maybe队交出了一份令人满意的答卷,这也是对我们一年半来的付出和汗水最好的肯定。回首参加竞赛的这段日子,思绪便像总决赛场外的大雪一样纷飞着。
初识
国际大学生程序设计竞赛(简称ACM-ICPC)以团队的形式代表各学校参赛,每队由3名队员组成。每位队员必须是在校学生,有一定的年龄限制,并且最多可以参加2次全球总决赛和每年2次区域赛。
比赛期间,每队使用1台电脑需要在5个小时内使用C、C++、Pascal或Java中的一种编写程序解决7到10个问题。程序完成之后提交裁判运行,运行的结果会判定为正确或错误两种并及时通知参赛队。而且有趣的是每队在正确完成一题后,组织者将在其位置上升起一只代表该题颜色的气球。
初次听说ACM/ICPC这项竞赛是在刚入学的时候,作为计算机专业学生的我们被这有着“程序设计奥林匹克”之美称的竞赛深深吸引住了——公正,而且富有挑战性,对个人的专业素养提高有着很大帮助。由于有着相同的信仰,来自不同省份不同班级的三个人最终走到了一起并成为了队友。
对于很多刚上大学的学生来说,程序设计及算法的基础可以说是零,当然我们也不例外,连基本的输入输出都不大会,更别提什么深搜,广搜等基本算法了。相比之下,清华北大等名牌大学由于高中信息学竞赛保送生居多,他们可以轻而易举地拿到金牌,而西电的ACM竞赛基本从大二开始参加,一般到大三大四才能取得成绩。初看之下可能会吓走不少想尝试ACM的人,确实,在起跑线上就已经处于劣势的比赛,有几个想参加呢?我们权衡再三,还是选择了ACM,不仅仅只是因为喜欢和为了提高专业素质——如前文所说,这是一项富有挑战性的比赛,没有令人畏足不前的困难,哪来真正的成长?为此我们从零开始,一点一点地学习C\C++,自学了数据结构和算法,用挑战充实着每一天。
大一暑假,我们迎来了实力第一次飙升的阶段,学校组织了ACM暑期培训,由于参训人数很多,每天早晨都要起早去机房占机位,培训以半天讲座半天联系中间穿插比赛的形式进行。初期讲的比较简单,以我们当时自学的只是还可以跟上,每天做几道题。到后来讲动态规划等高级算法的时候就比较迷茫,听不大懂。那个时候恰恰是最艰难的时候。于是我们加紧了学习的步伐,进行高强度的训练,经常凌晨两点多睡,五点多起床,虽然很辛苦,但也乐在其中,虽然三个人都曾经有过放弃的念头,但看着可爱的战友们依然奋战,又怎能退却,我们在为梦想奋斗!就这样,我们相互支持,相互帮助,顺利完成暑假的算法入门学习。暑假一个月下来,人整个瘦了一圈,但是我们收获了很多。ACM,我们迈出了坚实的第一步。
杭州失利
在西电ACM校赛之后,我们正式进入实验室开始了对算法的进一步学习,在实验室里有学长的帮助,队友的交流,我们进步也很快。很幸运,我们队作为新人,获得了参加2008年杭州赛区现场赛的机会。从这时起,我们三人正式建队,起名叫maybe,寓意就是:一切皆有可能,希望我们能成为一匹黑马创造奇迹。从教练的角度来说我们队出来比赛最大的目标也就是见见世面,感受现场赛气氛,为明年比赛培养后备人才,因此也没多大压力。不过在我们看来,现场赛前60%的队伍可以获得铜奖,认为铜奖应该还是挺好拿的,就定下了个目标,铜奖。
事实证明,我们过于高估了自己的实力,在这场比赛的最后一个小时,我们才磕磕绊绊AC了一道题,可以说是彻底的失败。杭州失利,作为处子秀,我们第一次体验现场赛的氛围,感受选手们的头脑风暴中激烈拼杀,不敢说在这个赛区学到了什么知识,但就在这赛区我们看到了差距、奋斗的目标及潜在的荣誉,追逐跟超越是件有意思的事,我们都决定再参加一年。
寒江独钓
杭州赛区回来后,接下来的半年多可以说是没什么现场赛可以参加。在学期剩下的时间和那个寒假,我们在各个OnlineJudge上切题,并参加网上的比赛,比如各大OJ月赛、百度之星、腾讯TIC、topcoder等,借助比赛来提高代码速度、增强思维敏捷性及适应比赛气氛。在这个漫长的时期里,除了知识、结识ACMer和比赛排名微微的上升,我们一无所获。没有荣誉没有奖金,没有人为你鼓掌加油,甚至没有人知道你的存在。这也是ACM让很多人望而却步的原因之一,但我们却在其中流连忘返。
又到了一年一度亚洲区网络预选赛的时候,这其中发挥最差的莫过于合肥赛区,差点连现场赛的名额都保不住,所幸接下来几场网络赛表现都比较中规中矩,在平稳发挥中我们取得了所有赛区的入场券,不过在现场赛区的选择时阴差阳错,我们选择了合肥和上海,这两个网赛发挥最差的赛区。
合肥夺金
经过一年多的磨练,我们信心满满地开始了现场赛的征程。牢记第一次惨败的教训,凭借刻苦的学习和一年多默契的配合,此战非常顺利,四次提交全部一次通过,凭借罚时的优势获得金牌,在颁奖典礼上,听到主持人宣布西安电子科技大学获得金牌的时候,我们三个抱成一团,欢呼雀跃,这一切来的太不容易,要知道,这是西电ACM/ICPC历史上第一枚金牌。
接下来的上海赛区,由于队里的主敲状态很差,我们的发挥有点失准,但也还好保住了银牌。就这样,09年度,XDU_maybe为西电获得了一金一银的成绩。
2010全球总决赛
本以为今年的比赛就这样结束的时候,我们意外地收到了教练发来的邮件,通知我们晋级2010年哈尔滨举行的ACM/ICPC全球总决赛!阔别三年,西电再一次踏上了世界总决赛的舞台,而我们也欣喜若狂,第一次站在如此高度上,近距离地触摸着我们的梦想。
正式比赛的前四小时发挥的很差,只过了两个题,然而封榜后的那一小时是让我们感到惊喜的一小时,五分钟之内连续提交通过两题,并最终以四题的成绩结束了比赛。王院长和张老师赛后从看台下来找我们,当我们说封榜后过了两个题让他们舒了一口气,算是一个比较满意的结果,全球第36名刷新了西电在07年东京总决赛第44名的成绩,也让我们如愿地成为了一匹黑马。
感谢
我们竞赛取得的任何成绩都离不开学校的支持及老师和教练的操劳。备战期为我们指导,赛前为我们报名做筹备工作,比赛时在外地对我们生活精心的照顾。老师,你们辛苦了。
感谢实验室的战友们,大家一起营造了良好的实验室的学习氛围,互相讨论,互相学习,互相竞争,互相帮助。大家一起为西电ACM取得好的成绩而努力。
感谢所有帮助过我们的同学们,谢谢你们。
没有硝烟的战场,五个小时的战役,有一群ACMer在奋斗着,不会停止追梦的步伐。