106

今年的比赛在俄罗斯的首都莫斯科举行。

十二月底,莫斯科的气温偏低,天空也是雾蒙蒙的。林知夏刚从机场出来,就感受到了一阵汹涌的寒潮。她拖着行李箱,跑到带队老师的身边,老师问她:“有信心拿金牌吗?”

“有!”林知夏回答。

话虽这么说……

当她深入俄罗斯的腹地,来到了俄罗斯选手的老巢,她心里有些没底。

林知夏知道,在国际赛场上,俄罗斯、日本、韩国、美国、中国这几个国家厮杀得十分激烈。近几年来,大学编程竞赛的冠军多半属于俄罗斯。

林知夏花了一年的时间去学习编程。她的数学功底非常扎实,还能把《数据结构》和相关算法倒背如流,因此她成功在省队中脱颖而出。

然而,IHSPC不仅考验了选手的数学逻辑思维,还要求选手具备一定程度的编程技巧。

林知夏寄希望于她的队友。

这一次,与林知夏一同出战的队友,是省立一中的高三年级学长,也是信息学科竞赛的佼佼者。

其中一位队友姓蔡。蔡姓队友小小年纪,就有很多白头发,于是大家都叫他“老蔡”。

另一位队友姓粱。他长相比较年轻,于是大家都叫他“小粱”。

IHSPC比赛开始之前,老蔡自我解嘲道:“我们这一组的三个人,名字里带着‘蔡’、‘粱’、‘夏’三个字,我们又菜,又凉,又瞎,齐活了。”

林知夏被老蔡的说法震惊。

更令她的震惊的是,他们完全被东欧选手包围了。

他们的座位附近是俄罗斯队、白俄罗斯队、爱沙尼亚队,拉脱维亚队。这些队伍里的每一位同学都有一种很稳的气质,都让林知夏联想起了罗马尼亚大师赛上的Alexandrov。

林知夏坐直身体,严阵以待。

在林知夏的队伍里,小梁的编程水平最高。小梁负责编写程序。而林知夏的数学功底最强。她负责分析题目。

他们顺利解决了前三题,却在第四题上遇到了障碍。这道题设置了一个以2为底的嵌套指数函数,函数已经被运算了M次,得到一个数值N,现给定一个X作为输入,求N对X取模后的结果。

这道题出得非常巧妙,老蔡与林知夏持有相反意见。

林知夏坚持使用递归降幂公式直到模数等于1。老蔡认为,降幂不是这道题的关键点。老蔡曾经见过一道类似的题目,但他突然想不起来了。他与林知夏小声争论,小梁插了一句话:“老蔡,小林,到底怎么做?你们快给个准信。”

林知夏拽过键盘:“抓紧时间,按我的方法来。”

“等等,”老蔡制止道,“你提交一次错误代码,我们前几题就白忙活了。”

是的,IHSPC的比赛规则十分苛刻。

选手答对了,不一定能得分,选手答错了,一定会被扣分。

老蔡这么一说完,林知夏的动作变得迟钝。她重新梳理一遍逻辑,又在脑中运行程序。老蔡暂时把第四题放到了一边,开始和小梁商量第五题的解决办法。

林知夏低头扫视第五题,又想起竞赛老师的叮嘱:IHSPC比赛的题目经常会给选手挖坑。很多时候,你以为你做出来了,其实你没有。你以为你是正确答案,其实你漏掉了关键信息。IHSPC总是隐藏着一些特定的套路。

如果这是一场个人赛,林知夏可以随心所欲地答题。但她身在团体中,她必须小心谨慎。她询问老蔡对于第四题的看法,而老蔡正在敲击键盘,编写第五题的答案。

林知夏问他:“第四题不用费马欧拉定理,还能用什么方法?”

老蔡目光专注地盯着屏幕:“你等我把第五题写完。”

“第五题你想怎么做?”林知夏又问他。

老蔡戴着一副金框眼镜,脸型圆润如银盘,通身显出一种富贵的气派。老蔡不像是一个普通的理工科书呆子,他身上蛮有灵气——这是小梁心中对老蔡的评价。

小梁和老蔡作为信息学科竞赛的队友,已经合作两年多了。原本,他们还有另一个队友,但是,那位队友的编程实力偏弱,教练就临时把林知夏调进了老蔡的队伍里,让林知夏代表省立一中出战今年的国际高中生编程竞赛。

老蔡与林知夏的合作并不愉快。

林知夏的不断追问,打断了老蔡的思路。老蔡深深地叹了一口气,林知夏还在观察他:“你的第十七行代码,好像有个手误。这里不应该让二进制字符串左移两位……”

老蔡说:“我故意这么写的。”

小梁也说:“小林,你让老蔡写完。”

林知夏察觉气氛不对。她立刻闭嘴,不敢吱声。

这场比赛十分漫长,将从上午十一点持续到下午四点。到了中午一点左右,林知夏就很困了。她强打精神,盯着队友敲键盘,光标在屏幕上不断移动,她暗暗地想,C++真是简洁快速的语言,虽然固定的静态结构是C++最大的缺点,但是她依然喜欢C++,因为C++是计算机底层架构的一把利器。

第50章 滑铁卢

时间一分一秒地流逝,老蔡的手指悬停在电脑键盘之上。

老蔡是个细心的人。他写程序时,追求精益求精。他偏过头和小梁讨论,要如何提高程序的运行效率。林知夏找不到插话的时机,只能坐在座位上,静静地听着老蔡和小梁谈得热火朝天。

老蔡感觉自己把林知夏排挤到了队伍之外。他有些内疚。他讲了个笑话,活跃气氛,还让林知夏帮他检查一遍代码。

林知夏扫眼一看,确认老蔡的程序没有问题。

此前,林知夏曾经指出老蔡的“二进制字符串不该左移两位”。不过,现在看来,老蔡的思路是正确的。林知夏向他道歉:“对不起,我刚才说错了,我没想到你会这么写。你的解题方法和我完全不同。”

老蔡调整了一下座椅的位置。他一边提交代码,一边对林知夏说:“赶紧的,我们来研究第六题。第六题是代数几何……”

老蔡一句话没说完,小梁的手指轻点桌子:“第五题错了。”

老蔡和林知夏一起抬头,齐刷刷地望向电脑显示屏。

IHSPC是一场残酷而严格的比赛,每个队伍的分数都是实时更新的,也是公开透明的。参赛选手上传某一道题的代码,后台程序就会立刻判定得分。

对与错,得分与扣分,全在一念之间,也在一瞬之间。

老蔡感受到了巨大的压力。他屏住呼吸,嗓音沙哑:“我们第五题写得不对?”

第五题爆出一个大错,倒扣7分,省立一中的总体排名一下子从全场第六名跌落到了全场第十七名。

截至目前,俄罗斯队和韩国队遥遥领先,中国的几支参赛队伍紧随其后。省立一中不占任何优势,林知夏心弦紧绷,急忙查看后台的反馈。她说:“你用二进制字符串来表示第五题的集合,左移两位代表乘4,可是你少写了一种情况……我也有错,我没有仔细阅读你的每一行代码。”

老蔡紧紧地皱着眉头,脸上阴霾不散。他握着鼠标,刷新页面,比赛排名再度更新——省立一中沦为第十九位。

林知夏每次考试都是年级第一,她从没见过“第十九名”的成绩。她有点懵了。老蔡还在修改第五题。小梁安抚道:“老蔡,别急,还有机会。”

老蔡第二次提交第五题,再度被判定为“Error”。

这个“Error”,就是“错误”的意思,省立一中又被扣了4分,整体排名连续下滑。

“真要命啊。”老蔡感慨道。

林知夏挡开老蔡的手,直接夺过键盘。她在老蔡的程序基础上,新增了一个变量。她点击鼠标左键,按下绿色确认按钮。可是,她并没有力挽狂澜。“Error”重复出现,“省立一中”的名次沉落到了第四十三位。

小梁不留情面地批评道:“林知夏,你交得太快了啊,我们没看清你的写法。”

这时候,林知夏才把试题拿出来,重新阅读第五题的题干。她和队友们说:“我知道了,我们都把这道题记错了。两个星期前,老师带我们训练的时候,给我们出过一道题,那道题和这个第五题有百分之八十的相似度,但是限定条件完全不同……”

林知夏还没说完,小梁和老蔡已经在合力修改。

他们不约而同地被激发了赌徒心态。

《天才女友》