梦回思源湖

来源:互联网 发布:阳春网络 编辑:程序博客网 时间:2024/05/16 23:49

饮水思源:北周·庾信《征调曲》:“落其实者思其树,饮其流者怀其源。”

谓喝水时应该想想水源。比喻不能忘本。亦作“饮水知源”,“饮流怀源”。

—— 题记

 

29届ACM总决赛已经落下了帷幕,上海交通大学又一次摘取了桂冠。

现在,我才写下这篇回忆录,回忆参加初赛时的点点滴滴,是否有些太迟了呢?或许吧,但是,饮水思源,永远不会太迟的。

 

比赛时的点点滴滴,如今回想起来,还是像做梦一样。

人生非梦总难醒吧,只记得一些片段了。

 

记得,是比赛前两天的下午,沈老师开车送我们到交大闵行校区。

一路上,DC感觉不舒服,一直闭口不言;LHH则是闭目养神,也是一言不发。

到交大时,太阳已经有些西沉了。因为晕车,DC一直到晚饭时才缓过劲来。匆匆吃了晚饭,也没有参加交大安排的娱乐活动,就回到了宿舍。

 

虽然精神不太好,但开卧谈会的力气还是有的。

于是,我们就缠着LHH讲笑话和趣事,有些好象以前听过了,但“温故而知新”嘛。我回忆了一下,似乎我们有这样一个传统,每次比赛前都要LHH讲笑话,放松一下。他讲笑话特别有感染力,他的故事也特别地多。

后来,LHH回房间睡了。交大安排的宿舍是两个人一间的,我和DC一间。

DC就给我讲述动漫的基础知识,算是扫盲吧;我给他讲武侠,具体哪一部,忘记了。

 

第二天早上9点至10点是开幕式,地点在交大体育馆,也就是正式比赛的地方。

因为本次ACM决赛也将由交大主办,所以初赛组织得也不错,可能是为决赛做准备吧。就是场地小了一些,每个队一张桌子,四张桌子并在一起,感觉上挨得太近了。

开幕式依照惯例,没什么特别。然后是教练会和抽签。沈老师开完会,回来跟我们讲了注意事项,lty也来了。

 

下午,飘起了小雨。

热身赛是2点到5点,一共3个小时。我们提早来到了场外,就在门厅里站着。

 

看到了浙大的WishingBone,人家已经是领队了,而我们3个,还是参赛队员。

上次在北京也见过一面,我们乘一辆车去赛场,他就坐在我们后面,熊熊转过头,问他:“你就是传说中的WishingBone吗?”他回答:“是啊。” 熊熊说:“好崇拜你哦!我的偶像!”

我在一旁,汗如雨下。

LHH到印度去,听到印度ACM主办方对WishingBone的评价是“The best programmer of China”。

 

有交大的MM来采访LHH,他看了看旁边正在和队员谈话的郭嵩山教授,对MM说:“看到没?那是广州中山大学的教练,强人啊……”就这样摆脱了MM的纠缠。

后来,看交大团委宣传部编辑的ACM活动简报,果然有采访中山教练郭嵩山云云。

 

热身赛一共是4道题。

我做了Problem B-Labyrinth,最简单的DFS了。

接着LHH写了一题Problem A-Sum Up,然后在PC^2上按了一下“Test”,没反应,当时也没在意,就直接提交了。接着,DC写一道字串统计题Problem C-Information Retrieval,因为只有他会STL。

但是过了几分钟,悲剧发生了,DC发现竟然没法存盘了!重建工程也不行。只好找现场的技术支持,他也没办法,最后找来了总负责人,发现是有个进程把磁盘空间写满了。

其实是LHH按了“Test”以后,那个进程一直在运行,因为输入文件路径没有设置好,程序读入的全是随机数,也就结束不了,结果输出文件就越来越大,就把LINUX的空间全占了。

没办法,只好换一台计算机。可怜了DC快写完的程序。

正式比赛时,竟然发现压在键盘下面的比赛说明里加了一条,说是若发现运行异常,请查看任务管理器,并使用“-kill”命令终止进程。

把交大一台计算机给搞崩了,恐怕我们是第一队,也是唯一的一队了。

对此,深表遗憾和歉意……

DC接着写他那道题,可一直是-Wrong Answer。

 

在新东区餐厅吃了晚饭,挺丰盛的,我都怕回去以后,学校食堂要吃不惯了。

这时已是夕阳西下,华灯初上了。整个校园沐浴在一片金色的霞光里。

漫步交大校园,想要领略一下交大的风貌。

沿着小路走着,已经记不起看到了些什么了,只记得路上人比较少,可能因为是周末的关系吧,偶尔看到几个和我们一样身着ACM服装的队员。

至今留在我印象里的一幅画面是:朦胧的雾气笼罩着思源湖,湖对岸透出点点灯光的图书馆在夜色的映衬下,显得格外悠远与深沉。

 

回到宿舍后,DC继续研究那道Problem C。

突然,他大呼“花痴”,倒在床上了。说是知道犯了一个低级错误,“字符串处理低潮期啊!上次北大网络同步赛时也是……”,他叹道。

我说:“没关系,我也在广搜低潮期嘛!做一道挂一道,不过,就算我们两个全在人品低潮期也没关系,LHH状态好就行了。”

    DC深以为然。

 

2004年12月5日,上午8:30分,总裁判敲响了铜锣,五个小时紧张的比赛终于开始了。

一共是10道题目,我们分了一下,三个人各自读题。

读完以后,我是一点想法都没有;DC也是一筹莫展。

 

    LHH说那道Problem C-The Counting Problem他能做,就是需要时间。DC和我没有异议,这种题LHH最拿手,既然其它题目暂时没想法,就让他先写。

LHH写完后提交,但是-Wrong Answer。

 

这时我们发现,有些队已经过了那道“田忌赛马”Problem H-Tian Ji-The Horse Racing。这道题是我读的,以为是网络流,和DC商量了一下,就放在一边了。

这时又重新读了一遍,还是没想到什么好方法。LHH和我讨论,说是先试着写一下,我们就分情况列了一张表,他起先用数组写的,然后改成了链表。

写完提交,-Wrong Answer。

 

这个时候,DC说那道“欧拉路”Problem E-That Nice Euler Circuit有希望,并说了他设想的算法流程。

我觉得他说的流程太笼统,细节没考虑清楚,用程序也不容易实现。所以,不太同意他立刻按照这个算法写程序。

 

LHH改正了刚才程序里的几处错误,但还是-Wrong Answer。

我们觉得这种算法根本上有问题,再改也没用。LHH说先不管这道“赛马”,他重新做Problem C。

 

DC发现Problem E与欧拉公式有关。我试了一下,果然有:

边数-点数+2 = 面数

这样一来,就可以通过统计交点个数和线段数计算划分的部分数了。

拉来LHH,一起理了一下思路,定下了总体流程。

 

过了一会儿,LHH再次提交Problem C,-Yes。

我还在和DC讨论那道“欧拉路”。

 

LHH决定重写Problem H,孤注一掷,用贪心试试,如果还不对就放弃。

结果,竟然过了,-Yes。

 

然后,我们三个人一起写那道Problem E。

DC写STL,提高查找速度;我查计算几何库;LHH打字。

测了几组数据,没发现什么问题。

LHH看了看我,又看了看DC,点下了“Submit”。

 

接着,LHH站了起来,左右踱步;我和DC也在焦急地等待着结果。

前面的phoenix过了1道,队里有LHH的师妹。

四川大学的liulike没来,比较遗憾。来的这支队,实力也不太清楚。

全场已经有好几个队升起了3个气球。

 

-Yes。

LHH激动得叫了出来,引来了周围其它队队员的目光。

这时,比赛已经过了4个多小时,即时排名也不再刷新。

 

在接下来不到一个小时的时间里,我们又提交了一题Problem I-Islands and Bridges。

-Time Limited Exceed。

其实,这也在我们的意料之中。

 

13:30分,随着铜锣的再次响起,比赛结束。

沈老师、虞老师、lty和Bob Song已经等在场外了。

 

接下来,14:00开始,是交大各学院组织的各高校ACM队员的“娱乐互动”活动。

写了那么多流水帐,我觉得现在要讲的才是最重要的部分,虽然篇幅可能很短。

其实,所谓“娱乐互动”,就是组织各ACM队的队员一起做游戏。

与我们坐在一起的有同济大学和其它几个上海学校的代表队,好像还有来自香港的某大学,记不清了。

开始大家都还有些拘束,但随着游戏活动的进行,不断地接触,后来,大家已经是有说有笑了,会场里到处洋溢着欢乐祥和的气氛。

最后,还让我们用颜料,在纸上留下自己想说的一句话,也可以用图画的形式表达自己的心情。大家异常兴奋,无论写得好坏,画得如何,都来一显身手,不在乎别人的评说,因为这是属于ACM的时刻。

LHH轻声地说道:“这才是ACM!”

 

是啊,参加ACM已经三个年头了。

还依稀记得大一上半学期,万老师教C语言,那时还没讲文件操作,

我在研究生楼东南厅,参加ACM选拔考试的情景;

 

记得第一次集训是在实验十五楼314,没有网络,借了老师的电脑做题目,

那时,晚上在研究生楼教室听老队员讲算法,lty讲Graham扫描;

 

记得第二次集训是在计算中心102,当时那里的机器算是最好的了,

在三教,我们轮流讲算法,我讲的是高精度运算,那时三教还没翻新;

 

后来批了计算中心206,给我们使用,最疯的一次,一天过了12道题,

还记得那次,大家通宵做IPSC,早上在教工餐厅喝了碗粥,回寝室倒头便睡;

 

赛前集训一直是305,多少次给LHH带饭,多少次看到日落又日出,

最难以理解的,是LHH可以连续几天不睡;

 

每次练习赛,从早上10:00到下午3:00,做完大家都快不行了,又累又饿,

于是一起到校门口吃饭去,还记得Bob Song最爱吃土豆丝,每餐必点;

 

还记得出发前一天,也就是2004年12月2日,我们在ZOJ上的排名:

Rank    User          Solved      Submitted    AC Ratio

4       Meteors@ECUST 754         1597         47.21%

 

还记得,临行前做的最后一道题目,ZOJ2112 - Dynamic Rankings,

程序写了整整400行;

 

不要问除了上课,课余时间在哪里度过,

不要问放假期间,有几天是待在家里的;

 

比赛地点从北京清华到广州中山,再到上海交大,

每次都有新的感触、新的收获……

 

是啊,太多值得回味,太多值得珍藏的记忆了。

但是此刻,是我这些年从来没有感受过的。看到大家会心的微笑,真的希望“年年如今日,岁岁如今朝”,把这一瞬间的美好永远留住。

忘记了名次,忘记了荣誉,此时此刻才是最美的瞬间。

交流,友谊,这才是真谛,才是ACM生生不息的活力之源。

 

晚宴无话。

 

菁菁堂内,人潮涌动。

闭幕式暨颁奖典礼开始了。

我好不容易才找到位子,边上是清华的Magic 3和北大的PKU_Accept。

交大为这次饮水思源杯程序设计竞赛设置的奖项,名称很别致,金奖叫“金”诚所至奖和“金”益求精奖;银奖叫“银”水思源奖;铜奖叫“铜”心协力奖。

我们得的是银奖。

接下来,是ACM颁奖仪式,也是最有悬念的时刻。

“第九名,East China University of Science & Technology,华东理工大学,Meteors代表队”,我终于舒了一口气。

从交大校长谢绳武老师手中接过证书时,他说:“要向你们学习经验。”

我说:“不敢当,不敢当。谢谢。”

站在台上,看台下是黑压压的一片,闪光灯此起彼伏。

向着LHH和DC坐的方向挥了挥手,其实也是看不见他们的。

 

闭幕式之后是“ACM-ICPC”闪亮之夜文艺表演,一直持续到晚上10点。

从菁菁堂出来,走着走着,发现前面好象是浙江大学的教练,陈越姐姐。

LHH提议:“我们请陈越姐姐签个名吧。”

“正有此意!”,大家一致同意。

“可是没纸啊!”

我说:“没关系,签在胸牌上好了。”

“可是,笔呢?”,LHH立刻向超市跑去。

等买笔回来,陈越老师已经走远。

于是,我们奋起直追。如果那天晚上,你看到有三个人,一路从交大体育馆跑到住宿D区,那就是我们了。

终于让我们如愿以偿,虽然已是累得气喘吁吁。

 

回忆到这里,也就快接近尾声了。

其实,要把这几次的经历全写下来,足可以写几大本。

在此,还要感谢我们在交大期间的导游,王武士同学。

 

 

2005年5月6日

于嘉兴文苑里

原创粉丝点击