人生就像一个个节点,节点中或许有成功,失败,满足,遗憾,但是只要它是不可复制的,在日后,便是美好。
——我们的教练
一
“TIME—00:00:07”,还有七秒钟的时间,比赛结束。
我们把最后一道题的代码稍微修改了一下,赶在比赛结束前的七秒钟,提交。奇迹并没有出现,仍然是错误。但我们却在最后的时刻,如释重负,好惊险的比赛,刺激程度无以复加,毕竟这道题我们只用了十分钟的时间,而五个小时的总过程,我们前四个小时居然一无所获。
终于从青岛回来,完成了我们的使命,虽然铜奖是微不足道的,既低于我们的预期,也没有刷新学校的记录。但玩了这么久的ACM,奖项俨然已经不是重点。这五个小时的精彩,是无以言说的,也是无法重现的,对我们来说,赛场上每一次不屈不挠的提交,赛场外与其他学校志愿者的甜蜜友谊,日后必将成为美好。
二
在很多人的理解中,ACM是难、枯燥、无味的代名词。一个纯粹拼脑力和算法的游戏,它既没有窗体开发中花花绿绿的UI界面,也没有实际项目中形形色色的扩展类库,当然比起真正风靡世界的WOW和LOL,它的确是太不好玩了。可大隐隐于市,最简单的C穿插少许的C++特性,黑白相间的命令提示符,毫无修饰的输入输出,便能够解决号称计算机灵魂的终极问题,这足以让许多热爱算法的人心旷神怡了。
由于ACM竞赛涉及到的知识面实在太广,下至递归枚举,中有贪心图论,上有线段树字符匹配等许多最近几年才有的国际论文知识,除此之外,英语数学物理甚至流行的电子游戏也要稍有了解,才能极大简化构造模型的时间。所以训练的时候也是异常艰苦,我们在这一年中已经没有了寒暑假。回想起训练的时候,常常因为一个问题的不同解法争执的面红耳赤,废寝虽不至于,忘食却也成了家常便饭。
从功利的角度看,一年的努力,换来一个区区的铜奖,亏否?
大一的时候,我参加过软件设计大赛,虽然当时不懂JAVA,与两位同学也是从筚路蓝缕开始学习,但是半个月便出了作品,最后也拿了个奖。从投入产出的角度看,这似乎更值,稍加学习会用类库调用函数就能成功一半。把一年的ACM生涯用来做项目,成就已然不会太小。但是我们三人总有一个共同的想法:“有意思吗?我们无非是在用别人的东西。”
是的,ACM是一个独立思维的王国,它什么都不会给你,甚至连输入输出的样例都是那么的小心翼翼,唯恐让你懂得太多,思维定死。可在这最大限度的运用*后又有最为严格的验收标准,机器评测,克服了人工的感情思维和失误,上万个甚至数十万个测试数据,迫使你的程序要严格思索到每一个边边角角。最重要的是,无边无际的参赛者会在轻松过题的时候给你惊喜和鞭策——在线上甚至线下赛中,你与山大中国海洋大学甚至清华北大的人同在一个屏幕上,思考同样的事情,想来就让人兴奋。也只有在那时,我们才知道自己的微不足道,知道乔帮主毕生箴言的合理之处。
Stay hungry,Stay foolish。
三
就是在这样的环境中,我们抵达了战场——中国石油大学,其中包括三个正式队伍和三个大一同学组成的友情参赛队伍。那是一个慵懒的下午,两个美丽大方的志愿者欢迎着我们的到来。吃过饭后,便去参加了一场热身赛,实验新环境的性能和机器的性能(正式比赛时采用的是ubuntu的系统),下午出门,我们一行人浩浩荡荡的到了海边,看到自己脚下木头连廊的缝隙,谈天说地。ly(不是lyc也不是lcy)老师租了一个双人的自行车,于是我们是情侣的不是情侣的都上去跃跃欲试了一把,这其实也是一种缘分。十年方才修的同船渡,能让我们如此欢乐的在一起,需要多高的修为啊!而这修为的链接,恰恰就是ACM这个既让人愁眉苦脸,又让人喜笑颜开的心魔。
所有的坡度已经都被我遍历,所有的惊险都成为了必然,迎面而来的海风抚乱了我的头发。远方沙鸥的起降让人心旷神怡。
把自己的灵魂交付给自然吧,青春的节奏本该如此,不是吗?
四
晚上,队长带着大一的三名同学去“拜神”,所谓神,其实也不过是和我们学校水平相仿的sd某大学。
第一届省赛时,sd某大学与我们的水平相仿。但他们卧薪尝胆,顽强不息。由于其学校对ACM事业的重视,训练*也是通过自己搭建的评测平台进行的,甚至在平日对普通同学的C/C++语言教学中,便引入了动态规划、数论等一些初级的算法,并将期末考试与ACM评测机制相结合进行考察,人员选拔也有规范而严谨的校赛来负责运行,在这种良性机制的循环下,他们不仅在省赛中取得了良好的成绩,甚至有了几次国际邀请赛的经验。
大一的三位同学显得十分兴奋,sd某大学的同学也表示,这三位同学的实力要比他们的大一后备力量强大,但是假以时日,再过一年呢?两年呢?谁的心中都要打一个问号。这和他们的努力或许有关,但更深层次的原因,也值得我们好好思索一番。
借用*的一句话,“这世界是我们的,也是你们的,但是归根结底是你们的。”大一的三位同学,你们好像八九点钟的太阳。
五
次日十点,比赛正式开始。到下午三点结束,跨度很长。我们的机器位于很靠近主席台的位置。
不得不承认我们的旅程是非常不顺的。各个大学甚至中学的“友情参赛”队伍开始纷纷的出题,我们都没有料到的是,大一的友情参赛队伍,率先挂起了代表我们学校荣誉的气球,他们第一个做出了题来。感谢三位大一同学,你们对得起他校的赞誉。我校其他队伍,也纷纷做出题来——虽然因为题目难度的原因,大家做的都很不顺。
只有我们一无所获了。三个小时的时候,我们的手都在微微颤抖,志愿者送来了饭食,我们却毫无兴趣。在一个错误的循环干扰下,我们拖到了第四个小时。根据国际比赛的规则,最后一个小时是所谓的封榜——我们已经看不到任何队伍排名的变化,而此时我们的前面至少有七十个队伍。
真的要成为有史以来第一个挂零回家的队伍吗?我们此时无比紧张,基本已经处于打乱码的边缘了。但我们旋即冷静了下来——最后分配了一下战术,我和ZHMM改循环的错误,另一个女生看那道我们毫无办法的题。我连续喝了两袋牛奶来平复自己的紧张,在zhmm的帮助下,我们4:14的时候做出了第一个题。2分钟后,第二个题也做了出来。
因为已经封榜,我亲眼看到对面做出一题的学校的队员的脸色由红变绿。偷笑了一下,失去的信心都已找回,最后20分钟,我们冲刺了一道全新的问题。同学10分钟写的搜索代码一次通过了我们能想到的所有情况,最终却没有通过严格的评测机。zhmm同学的代码也始终在错误和超时之间徘徊,直到最后的五分钟结束,也算是一点小小的遗憾。
没有时间修改了啊…我们尽力了啊。这些平日里的套话托词在这一刻显得那么的真实,这场不可复制的游戏,一切都结束了。或者说,又一次开始了。
六
没有太多的停留,我们回到了济南,只留下了这段不可复制的回忆。三个铜牌,万物总会有遗憾,但在遗憾中,美好也油然而生。
某人还在不停的说着“给力”,希望能在暑假的训练中有所突破——如果能在搭建一个我校自己的评测系统,或许会更好的呢;某人在平静中孕育着一丝丝惆怅:还有区域赛和网络赛呢,争取进一次吧,比国足冲出亚洲要容易啊;某人还在看着与sd某校同学的合影,若有所思;队长依然像以往当队长那样欢乐,我们都淡忘了这是他参加的最后一次比赛,他本来是可以在更大的舞台上施展本领的……
遗憾总会有很多,但这是一场不可复制的游戏。
昨天足够遗憾,但已经过去了。我甜甜的睡了,期待着明天的晨曦,洒向我那已经不再青春年少的面庞。
明天还有明天的沟壑,还有明天的风,但是,我们有理想,我们已经不再有畏惧。