塔与少女【6/12】

AI摘要
AI摘要
此内容由AI根据正文内容自动生成
方铨铎在省队名单里以0.8分之差落选,独自逃到未名湖边消化难过,回忆省选时的失误和三年竞赛时光,最后被妈妈接回家,喵爱也发消息安慰他明天太阳还会升起。

标签:轻舟已过万重山外传信息学竞赛省选落选0.8分未名湖

这里是轻舟已过万重山的外传,假如当初的世界线发生改变,世界会有什么不同吗?

大家多多关注呀。

标题取自系列

第一章:假如

方铨铎记得那天所有的细节。

三月三十一日,上午九点十七分。数学课。老师在讲导数的应用,粉笔在黑板上吱吱嘎嘎地响。窗外的阳光透过玻璃照进来,在课桌上投下一片光斑。同桌李浩在打瞌睡,脑袋一点一点的,像一只啄米的鸡。

手机在口袋里震了一下。他没理会。

又震了一下。连续震了五六下。

他的心猛地揪紧——这是洛谷群的消息提示,而且是很重要的消息,才会有人连续@他。

“老师,我出去一下。”他举起手。

数学老师看了他一眼,点了点头。方铨铎是班上的特殊学生,竞赛生的身份让他享有一定的特权——比如在上课的时候突然冲出去看手机。

他冲出教室,靠在走廊的墙上,打开手机。

洛谷群的消息已经刷屏了:

“CCF官网出公告了!”

“北京的成绩出来了!”

“浙江的也出了!”

他的手指在颤抖。他点开CCF官网,页面加载的每一秒都像一个世纪。走廊里很安静,只有远处某个教室传来的读书声。阳光照在手机屏幕上,有点反光,他用手遮了一下。

终于,页面刷新了。

《CCF NOI 2025各省省队入选名单公示》

他深吸一口气,点开“北京”那一栏。

名单从上到下排列,一共十六个人。

第一名:铝の(中国人民大学附属中学)

方铨铎盯着那个名字,愣了几秒。铝の。这个名字他太熟悉了。从高一开始,铝の就是人大附中信息学竞赛队当之无愧的第一人。NOIP全省第一,冬令营全国第三,北大集训营最优营员。所有人都说,他是今年国家队最有力的竞争者之一。

他继续往下看。

第二名,不认识。第三名,不认识。第四名,陈逸飞。第五名,李思睿。第六名……

没有他。

第七名。第八名。第九名。第十名。

没有他。

他的心跳越来越快,手指下滑的速度越来越慢。第十一名。第十二名。第十三名。第十四名。第十五名。第十六名。

没有方铨铎。

他把名单从头到尾看了三遍。每一遍都是同样的结果。十六个名字,每一个他都认识,每一个他都曾经在训练赛中交过手,每一个他都曾经赢过——至少在某一刻。

但没有一个是他自己。

他的手开始发抖。不是因为冷——三月的北京已经暖和了,走廊里甚至有阳光照进来——是因为一种他从未体验过的感觉从胃部升起,像冰冷的液体,慢慢蔓延到胸腔、喉咙、眼眶。

他靠在墙上,闭上眼睛。

差多少分?他脑子里飞快地计算。NOIP占百分之四十,省选第一天占百分之三十,第二天占百分之三十。他第一天的失误,那道数据结构的题,那道他本该拿满分的题——因为那一秒钟的分神,因为看了一眼手机,因为喵爱发来的那条消息——可能丢了十几分。

十几分。在省选里,可能就是省队与落选的区别。

他睁开眼睛,重新看了一遍名单。这一次他看得更仔细了,一个一个名字地看,一个一个分数地看。在名单的最下面,有一行小字:

“第十七名:方铨铎,中国人民大学附属中学,总分487.3分。”

他盯着那行字,然后又看向第十六名。

第十六名:488.1分。

0.8分。

他盯着这个数字,脑子里一片空白。0.8分。一道选择题的分值。一个边界条件的失误。一秒钟的分神。

一条消息。

他想起了喵爱。去年,喵爱差了零点三分。现在,他差了零点八分。

他忽然觉得讽刺。去年听到喵爱的故事时,他想的是“太可惜了,就差那么一点”。现在轮到自己,他想的是——

太痛了。

痛到喘不过气来。

他没有回教室。

他顺着走廊走到尽头,推开楼梯间的门,坐在台阶上。楼梯间很暗,只有安全出口的绿灯发出惨淡的光。楼上有脚步声经过,有人在下楼,脚步声越来越近,然后经过他身边,消失在楼下。那个人没有看他。

他坐在那里,一动不动。

手机又震了。是喵爱的消息。

“你看到了吗?”

他盯着那条消息,没有回复。

又震了:“我进了。第十六名。”

他该为她高兴的。他应该立刻回复“恭喜”,应该笑着说“太好了”。但他做不到。他坐在黑暗的楼梯间里,看着屏幕上那行字,一个字都打不出来。

喵爱又发了一条:“你呢?”

他打了几个字,删掉。又打了几个字,又删掉。他不知道该说什么。说“我没进”?说“我差了零点八分”?说“我完了”?

最后他发出去的是:“没进。”

消息发出去的瞬间,他几乎能感觉到屏幕那头的沉默。过了很久——也许是三十秒,也许是一分钟,也许更长——喵爱回复了:

“方铨铎……”

只有这三个字。后面什么都没有。他不知道她想说什么。也许是“对不起”,也许是“怎么会”,也许是“我很难过”。但不管是什么,他都不想听。

他关掉手机,把脸埋在膝盖里。

楼梯间里很安静。安静得他能听到自己的呼吸声,急促的、不均匀的呼吸声。他能听到自己的心跳,咚咚咚的,像是要从胸腔里跳出来。他能听到楼上水管里水流的声音,咕噜咕噜的,像是某种奇怪的暗语。

他想起了省选第二天。

第三题,后缀自动机。他最不擅长的知识点。题目很长,描述很绕,但核心只有一个:给定一个字符串S和若干个询问,每个询问求S的一个子串在另一个子串中出现的次数。

他盯着屏幕,手指在键盘上敲击。代码一行一行地出现在屏幕上。添加字符,建立状态,更新link,更新len。他进入了一种奇妙的状态,仿佛整个世界都消失了,只剩下他和屏幕上的代码。键盘的敲击声像心跳,稳定而有力。

最后一个字符敲完,他按下编译键。没有错误。输入样例,运行。输出和样例一模一样。输入大样例,运行。输出和大样例一模一样。

那时候他以为自己做到了。他以为那道后缀自动机的题目,这个他最不擅长的知识点,他征服了。他靠在椅背上,长出一口气,看了一眼时间:还剩十五分钟。

但现在他知道了。那道题他拿了满分,但那不够。第一天的失误,那十几分,那道数据结构的题——那道他本该拿满分的题——因为那一秒钟的分神,因为他看了一眼手机,因为喵爱发来的那条消息——

他闭上眼睛。

他恨喵爱吗?不。他恨的是自己。恨自己在最关键的时刻分神,恨自己不够强,恨那零点八分。

他睁开眼睛,看着面前灰白色的墙壁。墙壁上有一些涂鸦,大概是以前的学生留下的。“XX必胜”、“XX喜欢XX”、“考试去死”。他看着这些字,忽然觉得很可笑。那些写下这些字的人,现在在哪里?他们还在乎这些吗?

他拿出手机,打开和喵爱的聊天记录。往上翻,翻到省选前夜。

喵爱:“明天的T3,如果考到字符串,你会用哪种自动机?”

他:“AC自动机够用了。后缀自动机太吃细节,省选不会考那么难。”

他盯着这句话,看了很久。

省选不会考那么难。

他错了。喵爱问他的时候,他就应该警觉的。喵爱从来不会无缘无故地问他问题。她一定是听到了什么风声,或者看到了什么消息。她是在提醒他。而他,自负地说了一句“不会考那么难”。

如果他当时认真想一想,如果他当时去复习一下后缀自动机,如果他在考试前把那套模板再过一遍——

没有如果。什么都没有了。

他在楼梯间里坐了很久。也许是十分钟,也许是一个小时。当他终于站起来的时候,腿已经麻了。他扶着墙,慢慢站起来,膝盖发出咔嚓一声。楼梯间里还是那么暗,安全出口的绿灯还是那么惨淡。

他推开楼梯间的门,走进走廊。

阳光刺得他睁不开眼。他眯着眼睛,看到操场上有人在跑步,有人在打篮球,有人在笑着聊天。一切都和平时一样。太阳照常升起,世界照常运转。没有人知道,在这个上午,他的世界塌了一块。

他走过教学楼的时候,透过窗户看到自己的教室。数学老师还在讲课,粉笔在黑板上写满了公式。李浩已经不瞌睡了,正在认真地记笔记。他的座位空着,桌上摊着数学课本,翻到了导数那一章。

他没有进去。他继续往前走,走出校门。

校门口的值班老师看了他一眼,没有拦他。竞赛生的特权——随时可以进出校门,因为随时可能有比赛、有集训、有各种各样的竞赛活动。老师以为他是去机房,或者去参加什么培训。

他没有去机房。他漫无目的地走,不知道该去哪里。不想回宿舍,不想回家,不想去机房——那个他待了三年、比教室还熟悉的地方。他想找一个没有人认识他的地方,一个可以让他一个人待着的地方。

他沿着马路一直走,走过人大东门,走过海淀黄庄,走过中关村。街上的行人来来往往,有人匆匆赶路,有人悠闲地逛街,有人站在路边打电话。没有人注意到他。他像一个透明的影子,穿过这座城市。

路过中关村创业大街的时候,他看到一群年轻人站在咖啡厅门口,热烈地讨论着什么。他们穿着印有各种科技公司Logo的T恤,手里拿着笔记本电脑,脸上带着兴奋的表情。他想,他们一定是在讨论某个新的项目,某个改变世界的创意。三个月前,他也是这样的。和队友们在机房里讨论算法,争论哪种解法更优,为一个边界条件吵得面红耳赤。那时候他觉得,世界就在他面前,伸手就能够到。

现在他站在路边,看着那些年轻人,觉得自己像一个局外人。一个被世界抛弃的人。

他继续往前走。

下午两点,他走到了未名湖边。

他不知道为什么要来这里。他从来没有来过未名湖——北大对他来说太近了,近到从来没有想过要特意来一次。但今天,他鬼使神差地走到了这里。

他在湖边的长椅上坐下来,看着水面。春天的未名湖很美,柳条刚抽出新芽,嫩绿嫩绿的,在微风里轻轻摇摆。水面倒映着博雅塔的影子,塔尖在水里微微晃动。有游船在湖面上慢慢划过,船上坐着一对情侣,女孩把头靠在男孩的肩膀上,男孩在划船,动作很慢,好像时间在这个下午也变慢了。

他盯着水面,脑子里反复回放省选第二天的场景。

第三题,后缀自动机。他闭上眼睛,能清晰地看到屏幕上的代码。每一行,每一个字符,每一个括号。他写了三个小时,写了三百行代码。他记得每一个变量的命名,每一个函数的定义,每一个循环的边界。

他做对了。他知道自己做对了。那道题,他拿了满分。

但那不够。

第一天的失误像一根刺,扎在他心里。那道数据结构的题——线段树合并,他做过的,做过无数次的。他本应该在一个小时内完成,然后从容地做后面的题。但因为那一秒钟的分神,因为他看了一眼手机,因为喵爱发来的那条消息——“明天的T3,如果考到字符串,你会用哪种自动机?”——他的思路断了,他的节奏乱了,他花了两个小时才做完那道题。

两个小时。多出来的一个小时,他本来可以用在后面的题目上,用来检查,用来优化,用来多拿那零点八分。

零点八分。

他睁开眼睛,看到湖面上自己的倒影。那张脸看起来很陌生。憔悴、疲惫、眼睛里没有光。头发乱糟糟的,校服皱巴巴的,整个人像是被抽干了水分的植物。

这不是他。这不是方铨铎。

下午四点,他打开手机。

屏幕上涌进来几十条消息。洛谷群的消息已经999+了,他懒得点开。私聊消息一条一条地弹出来。

喵爱发了七条。从“你还好吗”到“你在哪”到“方铨铎你回我消息”,最后一条是“我很担心你”。他看着这些消息,能想象喵爱在手机那头焦急的样子。但他没有回复。他不知道该说什么。说“我没事”?那是假的。说“我很难过”?那是废话。说“让我一个人待着”?那是伤害。

陈逸飞发了两条:“听说你没进?太可惜了。”陈逸飞进了省队,第四名。他应该高兴的,但方铨铎不知道该怎么回复。说“恭喜”?他说不出口。说“谢谢”?谢什么?

陈煜轩发了一条:“方铨铎,我听说你的事了。我也是C类,你要不要也试试申请?”C类名额。陈煜轩提过,省选第十七名,C类名额,可以参加NOI。方铨铎盯着这条消息,脑子里转了一下,然后又转回来了。C类名额。编外人员。没有保送资格,没有集训队,什么都没有。就算拿了金牌,也是“编外金牌”。

还有教练的消息:“铨铎,来我办公室一趟。”

他盯着这些消息,一条都没回。

他给妈妈发了一条消息:“妈,我没进省队。”

几乎是秒回:“你在哪?”

“未名湖。”

“你别动,我来接你。”

“不用,我自己回去。”

“方铨铎,你别动。”

他看着那行字,忽然想哭。他已经三年没在妈妈面前哭过了。上一次哭还是初中,因为一次考试没考好。那时候妈妈对他说:“哭什么哭,下次考好就行了。”

但这次不一样。这次没有下次了。省选一年一次,高三不能参加。他的竞赛生涯,在这个三月三十一日的下午,画上了句号。

他坐在长椅上,看着湖面,眼泪无声地流下来。

他没有擦,就那么让眼泪顺着脸颊淌下来,滴在校服上,洇出一小块深色。湖面上起了风,柳条摇得更厉害了,博雅塔的倒影碎了又合,合了又碎。

他想起三年前,第一次走进机房的那个下午。

那时候他刚上高一,对信息学竞赛一无所知。他只知道C++是一种编程语言,只知道“Hello World”是最简单的程序。他坐在机房的最后一排,看着学长们在屏幕上飞快地敲代码,觉得他们像魔法师,用键盘召唤出一个个程序,解决一道道难题。

他想成为他们中的一员。

三年过去了。他成了他们中的一员,而且是最好的一员之一。他的洛谷账号有一万多粉丝,他的代码风格被很多人模仿,他的题解被无数人收藏。他拿过NOIP省一,进过冬令营,在北大集训营里拿过最优营员。

但现在,这一切都不重要了。因为没有进省队。因为零点八分。

在竞赛的世界里,只有两种人:进了省队的和没进省队的。金牌、银牌、铜牌,省一、省二、省三,这些都是过程,都是铺垫。真正的分水岭只有一个:省队。

进了,你就是赢家。没进,你就是输家。不管你拿了多少奖,不管你写了多少代码,不管你熬了多少个夜,只要你没进省队,一切都是零。

这是竞赛的规则,也是竞赛的残酷。

他闭上眼睛,靠在椅背上。阳光透过眼皮,变成一片橙红色。湖面上吹来的风带着水汽,凉凉的,拂过他的脸。

他想,如果时间可以倒流,他会做什么?他会回到省选第一天,把那道数据结构的题再做一遍。不,他会回到更早的时候,回到喵爱发消息的那一刻。他会关掉手机,不去看那条消息,专心做题。

但他回不去。时间是一条单行道,只能向前,不能后退。

妈妈四十分钟后到了。

她开了一个多小时的车,从家里赶到未名湖。方铨铎不知道她是怎么找到这里的——他只说了“未名湖”,没有说具体在哪里。但她找到了。她总是能找到。

她看到方铨铎的时候,什么都没说。她只是走过去,在他旁边坐下,把他的头揽在自己肩膀上。她的手很暖,搭在他的头上,轻轻地拍着,像他小时候那样。

方铨铎没有哭出声。他只是靠在那里,一动不动。他能闻到妈妈身上的味道——洗衣液和护手霜混合的气味,熟悉得让人想哭。

很久以后,妈妈说:“回家吧。”

他点点头。

回家的路上,车里很安静。妈妈没有放音乐,没有说话,只是安静地开车。窗外是北京灰蒙蒙的天,高架桥两边的建筑飞速后退。方铨铎看着窗外,忽然想起一件事。

今天是三月三十一日。去年今天,喵爱知道了自己的结果。差零点三分。她是怎么度过这一天的?她有没有像他一样,一个人坐在某个地方,看着水面,无声地哭?她有没有想过放弃?她有没有恨过这个世界?

他拿出手机,给喵爱发了一条消息:“我没事。恭喜你。”

喵爱秒回:“方铨铎,你别骗我。”

“没骗你。真的没事。”

“你在哪?”

“回家的路上。”

“那就好。”她顿了顿,又发了一条,“方铨铎,你知道吗,去年今天我哭了整整一天。”

他盯着这条消息,沉默了。

“但今年我没有哭。”她继续说,“因为我知道,哭没有用。能做的都已经做了。”

他打字:“我知道。”

“你不知道。”她说,“你现在觉得世界塌了。但明天太阳还会升起来。”

他看着窗外渐渐暗下来的天空,没有回复。

明天太阳还会升起来。但明天,他该做什么?他还能做什么?

到家的时候,爸爸已经在门口等着了。

他站在门廊下,表情很平静。没有愤怒,没有失望,甚至没有同情。他只是站在那里,像一座山,沉默而坚定。

方铨铎下了车,走到他面前。

“爸,我没进。”

爸爸看着他,沉默了几秒。那几秒钟里,方铨铎以为爸爸会说什么。也许会说“没关系”,也许会说“下次努力”,也许会说“你已经很棒了”。但爸爸什么都没说。他只是拍了拍方铨铎的肩膀,手掌很重,落在他肩膀上像一块石头。然后他转身进了屋。

方铨铎站在门口,看着爸爸的背影。那个背影有点驼了——什么时候驼的?他从来没注意过。

晚饭的时候,桌上摆着他最爱吃的红烧排骨和酸菜鱼。他妈妈做了整整一桌子菜,比他过生日的时候还丰盛。红烧排骨是糖色的,上面撒着白芝麻,冒着热气。酸菜鱼的汤是金黄色的,鱼肉片得薄薄的,在汤里微微卷曲。

三个人坐在餐桌前,谁都没说话。

筷子碰碗的声音,咀嚼的声音,汤勺碰锅的声音。这些声音在安静的餐厅里显得格外响亮。

最后还是爸爸先开口了:“接下来有什么打算?”

方铨铎夹了一块排骨,放在碗里,没吃。

“我不知道。”

爸爸点点头:“好好想想。不着急。”

妈妈在旁边轻声说:“先休息几天。这段时间太累了。”

方铨铎点点头,低头扒了一口饭。米饭是甜的,但他尝不出味道。排骨是香的,但他嚼不出香味。他只是在机械地咀嚼、吞咽,像一台机器在完成程序设定的动作。

吃完饭,他回到自己的房间。

房间还是他早上离开时的样子。桌上摊着数学课本,翻到导数那一章。旁边放着一杯已经凉了的水,水面上飘着一小片灰尘。窗帘没有拉开,房间里很暗。

他打开灯,坐在书桌前,盯着课本上的公式。导数,微分,极限。这些曾经让他觉得有趣的知识,现在看起来像一堆毫无意义的符号。

他拿起手机,打开和喵爱的聊天记录。从省选前夜到现在,他们已经聊了几百条。他一条一条地往上翻。

“明天的T3,如果考到字符串,你会用哪种自动机?”

“AC自动机够用了。后缀自动机太吃细节,省选不会考那么难。”

“那你猜猜,他们会考什么?”

“图论。去年考了DP,前年考了数据结构,今年轮到图论了。大概率是最小割或者网络流。”

“那我就信你一回。明天考完请你吃小龙虾。”

“你在杭州,我在北京,怎么请?”

“等我进了省队,去北京集训的时候请。”

“好,等你来。”

他盯着这些对话,眼眶又开始发酸。

等你来。

等不到了。他去不了北京集训了。他甚至不知道,自己还会不会再碰竞赛。

他关掉聊天记录,打开相册。相册里有很多照片——机房的照片、比赛的照片、和队友的合影。有一张是去年冬令营拍的,他和喵爱站在会场的门口,背后是一块巨大的背景板,上面写着“NOI冬令营2024”。喵爱笑得很开心,眼睛弯成月牙形。他站在旁边,表情有点呆,好像还没反应过来相机在拍他。

他盯着这张照片,看了很久。

然后他关掉手机,躺在床上,盯着天花板。

天花板是白色的,上面有一道细小的裂缝,从灯座延伸到墙角。他以前从来没注意过这道裂缝。他躺在床上,盯着那道裂缝,脑子里一片空白。

没有想算法,没有想题目,没有想比赛。什么都没有。只是空白。

他不知道自己在床上躺了多久。也许是十分钟,也许是一个小时。窗外的天色从浅灰变成深灰,最后变成黑色。房间里的光线越来越暗,他没有开灯,就那么在黑暗里躺着。

手机又震了。

他拿起来,是喵爱的消息:

“方铨铎,你睡了吗?”

他想了想,回复:“没有。”

“我也睡不着。”

他没有回复。

“方铨铎,我跟你说个事。”

“什么?”

“去年今天,我把自己关在房间里,哭了整整一天。我觉得天塌了,觉得一切都完了。我妈在外面敲门,我不开。我爸在外面说话,我不听。我就那么一个人待着,像一只受伤的动物,躲在自己的洞穴里。”

他盯着屏幕,能想象那个画面。

“但后来我想明白了一件事。”喵爱继续说,“天没有塌。世界没有完。只是我走的那条路,到那里就断了。但我还可以走别的路。”

他打字:“什么路?”

“高考。”喵爱说,“我回去学文化课了。学了三个月,从年级两百名考到了前五十。虽然最后还是靠竞赛保送的,但那三个月让我明白了一件事——我不是只会写代码。我还可以做很多事。”

方铨铎盯着这段话,很久很久。

“方铨铎,”喵爱最后发了一条,“不管你怎么选,我都在。”

他没有回复。他放下手机,闭上眼睛。

那一夜,他失眠了。

窗外的路灯亮了,橘黄色的光透过窗帘的缝隙照进来,在天花板上投下一道细长的光斑。他盯着那道光线,看着它慢慢地移动,从天花板的一边移到另一边,最后消失不见。

天亮了。

新的一天开始了。但对他来说,新的一天和旧的一天,没有任何区别。

第二天早上,方铨铎醒来的时候,阳光已经照进了房间。

他看了一眼手机,已经十点了。他从来没有睡到这么晚过。过去三年,他每天六点半起床,七点到机房,雷打不动。但今天,他躺在床上,没有起床的欲望。

妈妈敲了敲门:“铨铎,起来吃点东西吧。”

“不饿。”

门外面沉默了一会儿,然后脚步声远去了。

他翻了个身,把脸埋进枕头里。枕头上有洗衣液的味道,淡淡的,像妈妈身上的味道。他闭上眼睛,想再睡一会儿,但睡不着。脑子清醒得像一面镜子,照出所有他不想看到的东西。

省队的名单。第十六名的分数。他名字后面的487.3。还有那个他永远不会忘记的数字——0.8。

他拿起手机,打开洛谷。首页上全是关于省选的帖子。有人在报喜,有人在哭泣,有人在分析题目,有人在预测NOI的走向。他看到了一个帖子:《恭喜北京省队十六位大神!》下面是一长串的回复,有人在祝贺,有人在膜拜,有人在问能不能抱大腿。

他点进去,看到了十六个名字。铝の,陈逸飞,李思睿……一个一个,都是他认识的人。他往下翻评论,看到了自己的名字。

“方铨铎没进?不是吧,他那么强。”

“听说差了零点八分,太可惜了。”

“零点八分……一道选择题的分值。”

“竞赛就是这么残酷。”

他关掉了帖子,又打开了另一个。这一次是浙江的名单。喵爱排在第十六名。下面有很多人在恭喜她,说她是“翻盘王”,说她是“奇迹女孩”。

他盯着那些字,心里有一种说不出的感觉。他为她高兴——真的高兴。她等了一年,终于等到了。但与此同时,他也为自己难过。她翻盘了,他却没有。

他关掉洛谷,打开和教练的对话框。

教练的消息还停留在昨天:“铨铎,来我办公室一趟。”

他没有回复。他不知道该说什么。说“我不去了”?说“我已经放弃了”?还是说“让我一个人待着”?

他想了很久,最后打了一行字:“老师,我想一个人待几天。”

发出去之后,他又觉得这句话很蠢。一个人待几天。待几天之后呢?回去上课?回去刷题?还是回去面对那个0.8分?

教练回复得很快:“好。想好了来找我。”

想好了来找我。

他想好了吗?没有。他甚至不知道自己在想什么。脑子里像一团浆糊,所有的事情搅在一起,分不清哪件是哪件。

他放下手机,盯着天花板。那道裂缝还在那里,从灯座延伸到墙角。他盯着它,忽然觉得它像一条路。一条他走了三年的路,到这里就断了。

断了之后呢?

他不知道。

他只知道,从今天开始,他不再是竞赛生了。没有集训,没有比赛,没有NOI。什么都没有了。

他闭上眼睛,眼泪又流了下来。

这一次,他没有擦。他只是躺在那里,让眼泪顺着脸颊淌下来,滴在枕头上,洇出一小片湿迹。

窗外,阳光正好。三月的北京,春天已经到了。柳树抽芽,桃花盛开,一切都生机勃勃。

但在方铨铎的世界里,春天还没有来。

第二章:杀戮尖塔

方铨铎在床上躺了三天之后,终于起来了。

不是因为他想通了什么,也不是因为妈妈端进来的饭菜终于有了香味。而是因为他的手机没电了,充电器在书桌的抽屉里,而他已经没有力气再去翻抽屉了。他需要充电——不只是手机,也许还有他自己。但他说不清楚这两件事哪个更紧迫。

他坐起来的时候,头晕得厉害。三天没怎么吃东西,身体像一台被拔掉电源的电脑,屏幕上只剩下灰白色的雪花。他扶着床头柜站起来,看到上面摆着三碗已经凉透的粥——小米粥、皮蛋瘦肉粥、白粥。妈妈每天都换一种口味,希望他能多吃一口。但他一口都没动过。每一碗粥的表面都结了一层薄膜,像伤口上凝住的痂。

他拿起充电器,插上手机。屏幕亮起来的时候,消息像决堤的水一样涌进来。洛谷群的消息已经999+了,他懒得点开。私聊消息一条一条地弹出来——

陈逸飞:“铨铎,听说你没进?太突然了。”

陈煜轩:“方铨铎,我申请了C类名额,你要不要也试试?”

教练:“来我办公室一趟。”

还有几条不太熟的同学发来的“听说你考砸了?”、“没事吧?”之类的问候。他一条都没回,甚至懒得看完。这些消息像隔着一层毛玻璃,模糊、遥远,和他无关。

然后他看到了喵爱的消息。

不是一条,是一串。

三月三十一日,上午九点二十三分:“你看到了吗?”

九点二十四分:“我进了。第十六名。”

九点二十五分:“你呢?”

九点二十七分:“方铨铎?”

九点三十分:“你在哪?”

十点零二分:“方铨铎,你回我消息。”

十点四十五分:“我很担心你。”

下午一点十三分:“我刚问了你们学校的人,说你没进。方铨铎,我不知道该说什么。但我在。”

下午三点零七分:“你在未名湖?你妈妈去找你了?那就好。”

下午五点四十一分:“回家了吗?”

晚上八点零二分:“方铨铎,不管你回不回,我都会一直发。”

四月一日,上午七点十五分:“早安。今天北京天气好吗?杭州在下雨。”

上午十一点四十三分:“我上午在训练,做了一道后缀自动机的题。你猜怎么着?我居然做出来了。要是你在就好了,可以帮我看看有没有更优的写法。”

下午四点零九分:“训练结束了。今天状态很差,可能是因为一直在想你。”

晚上九点五十六分:“方铨铎,你睡了吗?我睡不着。”

四月二日,凌晨一点二十三分:“我还是睡不着。一直在想去年的事。去年这时候,我也是这样。一个人坐在房间里,盯着天花板,觉得世界塌了。”

凌晨一点五十八分:“但世界没有塌。方铨铎,世界没有塌。”

上午八点四十分:“我去训练了。今天一定要把那道网络流做出来。你在家好好休息。”

下午两点:“给你看个东西。”——下面是一张照片,拍的是她的笔记本,上面画着一个复杂的网络流模型,旁边写满了推导过程。“怎么样?我画的。是不是很好看?”

下午四点:“好吧,其实不好看。但我尽力了。”

晚上七点:“方铨铎,你今天还是没回我。”

方铨铎盯着这些消息,手指悬在屏幕上方。三天,几十条消息,从焦急到担忧,从担忧到小心翼翼,从小心翼翼到假装没事。她能发的都发了,能说的都说了。每一条消息都像一只手,从屏幕那头伸过来,轻轻地、试探地碰了碰他。而他一直缩在壳里,假装感受不到。

他打字:“我在。”

几乎是秒回:“方铨铎?”

“嗯。”

然后是一段很长的沉默。他能感觉到屏幕那头的喵爱在犹豫,在斟酌,在想该说什么才不会刺痛他。最后她发过来的只有四个字:“你还好吗?”

他盯着这四个字,打了删,删了打。好?不好?好是什么意思?不好又是什么意思?他现在连自己是什么状态都搞不清楚。他只是活着——呼吸着,心跳着,但那不叫“好”。那只是还没有死。

最后他发出去的是:“不知道。”

喵爱没有立刻回复。过了大约一分钟,她发来了一段语音。方铨铎犹豫了一下,点开了。

喵爱的声音从手机里传出来,带着一种他从未听过的温柔:“方铨铎,我跟你说一件事。去年今天,我也这样。觉得自己像个空壳,什么都装不进去,什么都倒不出来。吃什么都像嚼纸,睡也睡不着,就算睡着了也会被噩梦吓醒。梦到自己站在考场上,屏幕上一片空白,一个字都打不出来。”

她的声音顿了一下。

“但是方铨铎,你现在觉得的一切,都会过去的。不是因为我安慰你才这么说——是真的会过去。你不需要现在就‘好起来’,你也不需要假装自己没事。你只需要活着。呼吸,吃饭,睡觉。别的什么都不用做。”

方铨铎听完这段语音,又听了一遍。然后他放下手机,躺回床上。

活着。呼吸,吃饭,睡觉。

他能做到吗?他不知道。但他知道,有人在天亮之前就站在他身边,手里提着一盏灯。那盏灯很暗,暗到只能照亮脚下一小块地方,但足够他迈出下一步了。

他拿起手机,打字:“喵爱。”

“嗯?”

“你不是一个人。”

电话那头安静了很久。然后喵爱发来一个笑脸。没有文字,只有一个笑脸。但那个笑脸比任何话都重。

第四天,方铨铎终于走出了房间。

不是因为他想通了什么,而是因为他实在受不了房间里那股沉闷的气味了。三天没开窗,三天没换气,空气像一潭死水,压在胸口上让人喘不过气来。他推开窗户的时候,一股冷风灌进来,带着四月北京特有的干燥和尘土味。他站在窗前,深吸了一口气,然后又一口,再一口。肺里像被灌进了冰水,凉得发疼,但那种疼痛是清醒的,是活着的证明。

他走出房间的时候,妈妈正在客厅里看电视。看到他出来,她愣了一下,然后站起来,脸上的表情从惊讶变成小心翼翼,又从小心翼翼变成假装若无其事。

“饿了吧?我给你热饭。”

“妈,”他的声音沙哑得像砂纸,“我想出去走走。”

妈妈看着他,嘴唇动了动,似乎想说什么,但最后只是点了点头:“早点回来。”

方铨铎换了一身衣服——三天没换的校服丢进洗衣篮里,随手抓了一件卫衣套上。他走到门口的时候,妈妈叫住了他。

“铨铎。”

他回过头。

妈妈站在客厅中央,手里还拿着遥控器,眼神里有一种他看不懂的东西。不是担忧,不是心疼,而是某种更深沉的情绪。那是一个母亲看着自己的孩子从战场上回来时的眼神——不管他是赢了还是输了,只要他回来了,就够了。

“不管你做什么,妈都支持你。”

方铨铎点了点头,推门出去了。

他漫无目的地走在街上。四月的北京,阳光正好,街边的玉兰花开了,白色的花瓣在风里微微摇晃,像一只只停在枝头的白鸽。但他什么都没看进去。他只是走,一直走,走到腿酸了,走到肺里的空气终于不那么刺人了。他经过人大附中的校门时,脚步顿了一下。校园里有人在操场上跑步,有人在打篮球,有人在教学楼前的花坛边聊天。一切如常。没有人在意少了一个方铨铎。

他继续往前走。

他走进了一家商场。不是想买什么,只是不想在外面待着了。阳光太亮了,亮得让他觉得自己无处可藏。商场里凉快一些,人也少一些。他漫无目的地逛着,经过服装店、奶茶店、数码产品店,什么都没看进去。然后他经过了一家店,橱窗里摆着几台电脑,屏幕上播放着游戏的画面。

他停下来。

屏幕上是一个披着斗篷的人站在高塔前,背后是燃烧的天空。画面的右下角有几个字:《杀戮尖塔II》。

杀戮尖塔。他知道这个游戏。初代是几年前流行的卡牌构筑类Roguelike游戏,在竞赛圈里一度很火——不是因为好玩,而是因为它的核心机制和算法竞赛有某种奇妙的相似:随机性、资源管理、最优解搜索。很多竞赛生都在玩,包括他的一些队友。但他从来没碰过。不是不喜欢,是没时间。竞赛生的世界里没有“游戏”这两个字。每一分钟都要用来刷题、写代码、看题解。玩游戏?那是浪费时间,是堕落的代名词。

但现在,他什么都不是了。

他站在橱窗前,看着屏幕上那个披着斗篷的人一步一步地爬上高塔,和怪物战斗,收集卡牌,构筑套牌。画面很精美,音乐很悠扬,但他注意到的不是这些。他注意到的是——每一次选择都通向不同的结果。走哪条路,拿哪张牌,打哪个怪物。每一个决定都不可逆转,每一次失败都要从头开始。

像极了竞赛。

他走进店里,问了价格,付了钱,拿着游戏回到家。

那天晚上,方铨铎第一次打开了《杀戮尖塔II》。

他坐在书桌前,电脑屏幕的光映在脸上。游戏开始界面是一幅手绘风格的画面——一座高塔耸入云霄,塔身被藤蔓和裂缝覆盖,塔顶隐没在云层里。背景音乐很轻,只有钢琴和偶尔的风声,像是从很远的地方传来的。

他选择了第一个角色:铁甲战士。一个穿着厚重盔甲的战士,手里握着一把大剑。角色的描述只有一句话:“他曾登上塔顶,但他不记得看到了什么。”

他点击“开始游戏”。

游戏很简单。每回合抽五张牌,打出攻击或防御,击败敌人,爬上更高的一层。击败敌人后可以从三张卡牌中选择一张加入牌组,也可以在商店购买卡牌或遗物,或者在休息点回复生命值。每次选择都影响后续的战斗力——选错了,可能在下一层就被击败。击败了,就要从头开始。

方铨铎玩得很慢。不是因为不熟悉游戏机制——规则很简单,十分钟就摸清了。而是因为他发现自己不自觉地开始“计算”。每一张牌的价值,每一个敌人的攻击模式,每一条路线的收益。他在脑子里建模,推演,寻找最优解。

第一局,他在第三层被精英怪击败了。他盯着屏幕上的“GAME OVER”,沉默了一会儿,然后点击了“重新开始”。

第二局,他在第二层因为贪了一张没用的卡牌,导致牌组过厚,抽不到关键牌,在Boss面前毫无还手之力。

第三局,他打到了第四层。他小心翼翼地选择每一张卡牌,计算每一次战斗的伤害和格挡值,在休息点谨慎地决定是回复生命还是升级卡牌。他以为自己能赢了。但Boss在一回合内打出了六十点伤害,他的格挡只有三十二点。

GAME OVER。

他靠在椅背上,盯着屏幕。

三局,三个小时,三次失败。

和竞赛一模一样。你觉得自己算对了,觉得自己够强了,但总有一个边界条件你没考虑到,总有一个隐藏的陷阱你没发现。然后你就输了。从头再来。

他关掉游戏,躺到床上。

手机震了一下。是喵爱。

“方铨铎,你今天出去了?”

“嗯。逛了逛。”

“感觉怎么样?”

“没什么感觉。”他顿了顿,又打了一行字,“买了个游戏。”

喵爱发来一个问号。

“杀戮尖塔II。”

“那个卡牌游戏?我知道。很多竞赛生在玩。”

“嗯。”

“好玩吗?”

他想了想,回复:“一直在输。”

喵爱发来一个笑哭的表情:“那你为什么还玩?”

他盯着这个问题,想了很久。为什么还玩?因为输了就想赢。因为每一次失败都让你觉得自己离胜利更近了一步。因为你知道,只要再调整一下策略,再优化一下选择,就能赢。

就像竞赛。

他没有回复这个问题,而是问:“你今天训练怎么样?”

“还行。做了三道题,都过了。”

“厉害。”

“不厉害。都是你教过我的东西。”

方铨铎看着这行字,心里有一种说不出的感觉。他教过她的东西。后缀自动机,网络流,线段树合并。那些知识点还在他的脑子里,清晰得像昨天才学过。但他再也用不上了。

“方铨铎,”喵爱又发了一条,“你还会回来的,对吧?”

他盯着这行字,没有回复。

接下来的几天,方铨铎每天都会打开《杀戮尖塔II》。

他像研究算法一样研究这个游戏。每一张卡牌的数值,每一个遗物的效果,每一种敌人的攻击模式。他在笔记本上画表格,记录不同套牌的胜率,分析最优的路线选择。他甚至开始写模拟程序——用Python写了一个小脚本,模拟一万次随机抽牌,计算某张卡牌的期望价值。

写到一半的时候,他停下来了。

他在写代码。他在用Python写一个模拟程序。这是他三天来第一次打开编程软件。不是因为竞赛,不是因为作业,只是因为他想算清楚一张卡牌的价值。

他盯着屏幕上的代码,看了很久。代码很简单,只有几十行,但每一行都是他亲手敲出来的。变量命名还是他的习惯——用下划线连接,用缩写表示类型。注释还是他的风格——简洁,直接,不加废话。

他忽然意识到一件事。他以为竞赛结束了,他以为一切都结束了。但代码还在。那些习惯、那些思维、那些刻在脑子里的东西,不会因为一个0.8分就消失。

他写完程序,运行,得到结果。那张卡牌的期望价值是12.7点伤害,比他预估的少了3点。他记在笔记本上,然后继续玩游戏。

那天晚上,他打到了第五层,第一次见到了最终Boss。

Boss是一只巨大的心脏,悬浮在空中,周围环绕着旋转的护盾。它的血条很长,攻击很高,而且每三个回合会释放一次全屏攻击,几乎无法完全格挡。

方铨铎的牌组是一套“力量战”——通过叠加力量属性,让每一次攻击都造成巨额伤害。他在前四层小心翼翼地构筑这套牌组,放弃了所有看起来花哨但不稳定的卡牌,只留下最核心、最可靠的几张。

战斗开始了。

第一回合,他打出了“燃烧”,增加三点力量。Boss攻击,造成十八点伤害。

第二回合,他打出了“双重打击”,造成两次攻击,每次伤害等于基础值加力量。十八点伤害。Boss的血条掉了小小的一截。

第三回合,Boss释放全屏攻击。他打出了“壁垒”,增加二十点格挡,又打出了“巩固”,让格挡值翻倍。四十点格挡。全屏攻击造成了三十五点伤害,他剩了五点格挡。

第四回合,他继续叠加力量。第五回合,他又一次攻击。第六回合,Boss又一次全屏攻击。

如此反复。

这是一场消耗战。每一轮他都在计算——这回合是攻击还是防御?如果攻击,能打掉Boss多少血?如果防御,能撑过下一轮的全屏攻击吗?他的生命值在缓慢地下降,Boss的血条也在缓慢地减少。

第十七回合,Boss的血条只剩最后一截。方铨铎的手牌里有三张攻击牌,总伤害四十七点。Boss还剩四十三点血。

他赢了。

但他没有立刻打出手牌。他盯着屏幕,看着那些卡牌,看着Boss的血条,看着自己的生命值——只剩八点。如果这一轮他打不死Boss,下一轮Boss的全屏攻击一定会杀死他。

他深吸一口气,点击了“结束回合”。

屏幕上弹出一个窗口:“胜利!你登上了塔顶。”

他的角色站在塔顶,披风在风中猎猎作响。云层在脚下翻涌,远处的天空被夕阳染成金红色。画面缓缓拉远,塔顶越来越小,最后变成一个小小的点,消失在广袤的世界里。

方铨铎靠在椅背上,看着那个画面。

他赢了。三天的失败,无数次的GAME OVER,他终于赢了。

手机震了。是喵爱。

“方铨铎,你今天怎么没回我消息?”

他这才注意到,喵爱发了好几条消息,他一条都没回。他一直盯着游戏的屏幕,完全忘记了手机的存在。

“抱歉,在玩游戏。”

“杀戮尖塔II?”

“嗯。刚刚通关了。”

喵爱发来一个惊讶的表情:“这么快?我听说很难的。”

“是挺难的。输了三天。”

“那你为什么还玩?”

又是这个问题。这一次,他想好了答案。

“因为我知道我能赢。”他打字,“只是需要时间。”

喵爱沉默了一会儿。然后她发来一段话:“方铨铎,你知道吗,你刚才说的那句话,和我去年对自己说的一模一样。”

他盯着这段话。

“我去年对自己说,我知道我能赢。只是需要时间。然后我等了一年。今年,我赢了。”

方铨铎握着手机,不知道该说什么。

“方铨铎,”喵爱说,“你也可以的。不是非要走竞赛这条路。你可以做任何事——学文化课,考大学,学别的专业。或者,你也可以像我一样,再等一年。不管你选什么,你都可以赢。”

他闭上眼睛,脑海里闪过无数画面——机房的键盘声,深夜的台灯光,洛谷上绿色的“Accepted”,省选考场上那道后缀自动机的题目,名单上那个0.8分。

他睁开眼睛,看着屏幕上那个站在塔顶的角色。披风在风中猎猎作响,远处的天空一片金红。

他打字:“喵爱。”

“嗯?”

“你知道吗,这个游戏里,每次失败都要从头开始。没有存档,没有重来。输了就是输了。但你每一次都会比上一次走得更远。因为你学到了新的东西。你知道哪些卡牌好用,哪些路线安全,哪些Boss有什么技能。失败不是清零——你带着所有的经验,重新开始。”

喵爱没有回复。他继续说:“我今天赢的那一局,靠的不是运气。是我输了三天积累下来的东西。我知道每一张卡牌的价值,知道每一个怪物的攻击模式,知道什么时候该进攻,什么时候该防守。这些知识不会因为失败就消失。”

他停了一下。

“就像竞赛。那些刷过的题,写过的代码,熬过的夜,不会因为0.8分就消失。它们还在我身体里。不管我以后做什么,它们都在。”

喵爱发来一段语音。他点开。

她的声音有些哽咽:“方铨铎,你说的这些话,我等了一年才想明白。你三天就想明白了。”

他愣了一下:“我没有想明白。我只是在说游戏。”

喵爱笑了,笑得有些哽咽:“对,你只是在说游戏。但你说的每一句话,都是我想对你说的。”

方铨铎握着手机,听着她的笑声。

“方铨铎,”喵爱说,“你知道吗,我刚才在想一件事。”

“什么?”

“你玩这个游戏,输了三天,一直在算卡牌的期望值,写模拟程序,研究最优策略。你明明已经退役了,明明已经不用再碰代码了,但你还是在用竞赛的思维玩游戏。”

方铨铎愣住了。

“方铨铎,”喵爱说,“你不是一个人。”

这句话从屏幕那头传来,像一盏灯,在黑暗里亮了一下。

他没有哭。但他觉得有什么东西在胸口松动了一下。像冰封的河面下,有水开始流动。

那天晚上,方铨铎没有失眠。

他躺在床上,手机放在枕边。屏幕上是喵爱最后发来的一条消息:“明天太阳还会升起来的。”

他盯着这行字,忽然想起一件事。去年,喵爱差0.3分的时候,有没有人对她说这句话?她说没有。去年今天,没有人打电话给她,没有人发消息给她,没有人对她说“你不是一个人”。

所以她决定,如果有一天她认识的人遇到了同样的事,她一定要打电话给他。她一定要告诉他——你不是一个人。

她做到了。

方铨铎闭上眼睛。窗外的路灯透过窗帘的缝隙照进来,在天花板上投下一道细长的光斑。他盯着那道光线,看着它慢慢地移动,像一座灯塔的光扫过海面。

他想起游戏里那个站在塔顶的角色。披风在风中猎猎作响,云层在脚下翻涌。他花了三天,失败了无数次,才走到那里。

他不知道自己的塔顶在哪里。也许在高考考场,也许在某所大学的图书馆,也许在某个他还没有想过的远方。但他知道,他会一步一步地走过去。不是因为他突然想通了什么,而是因为有人在他身边,提着一盏灯。

那盏灯很暗。暗到只能照亮脚下一小块地方。但那一小块地方,足够他迈出下一步了。

他拿起手机,给喵爱发了一条消息:“晚安。”

喵爱秒回:“晚安。”

然后她又发了一条:“方铨铎。”

“嗯?”

“不管你怎么选,我都在。”

他盯着这行字,很久很久。然后他笑了。这是他四天来第一次真正地笑。不是因为开心,而是因为有人在。

窗外的路灯还亮着。远处传来汽车驶过的声音,很轻,像海浪拍打沙滩。方铨铎闭上眼睛,呼吸慢慢变得均匀。

他睡着了。没有噩梦,没有省选的考场,没有0.8分。只有一个模糊的梦——他站在一座高塔上,披风在风中猎猎作响,云层在脚下翻涌。远处,有人也在攀登。他看不清那个人的脸,但他知道,那个人也在往上走。

也许他们会在塔顶相遇。也许不会。但他们在同一座塔里,听着同样的风声,看着同样的天空。

这就够了。

第三章:转变

方铨铎通关《杀戮尖塔II》之后,又玩了三天。

不是因为他有多喜欢这个游戏,而是因为他不知道该做什么。每天早上醒来,第一件事是拿起手机看喵爱的消息。然后起床、吃饭、坐到电脑前、打开Steam,点击《杀戮尖塔II》的图标。选一个角色,爬塔,赢,或者输,再选一个角色,再爬塔,再赢或者再输。循环往复,像一台被设定了程序的机器。

他把四个角色都通关了一遍。铁甲战士、静默猎手、故障机器人、储君。每个角色都有不同的卡牌、不同的机制、不同的策略。他像研究算法一样研究每一个角色,在笔记本上写满了数值分析和策略总结。笔记本的封面上写着“竞赛笔记”四个字——那是他高一的时候买的,用来记录算法模板和错题。现在里面一半是后缀自动机、网络流、线段树合并,一半是卡牌期望值、遗物优先级、Boss攻击模式。

他盯着封面上的“竞赛笔记”,沉默了很久。

然后他把笔记本合上,放到书架的最上层。和那些竞赛教材放在一起。和那本《算法导论》放在一起。和他三年的青春放在一起。

他打开手机,看到喵爱发来的一条消息:“方铨铎,你今天做了什么?”

他想了想,回复:“打游戏。”

“又是杀戮尖塔II?”

“嗯。把第四个角色也通关了。”

喵爱发来一个鼓掌的表情:“厉害。那你接下来做什么?”

方铨铎盯着这个问题,手指悬在屏幕上方。

是啊,接下来做什么?游戏通关了,能玩的东西都玩完了。他不可能一辈子坐在电脑前爬塔。

他打字:“不知道。”

喵爱没有立刻回复。过了几分钟,她发来一段话:“方铨铎,你有没有想过回学校?”

回学校。这三个字像一块石头,扔进他平静的湖面里,激起一圈一圈的涟漪。回学校干什么?上课?考试?高考?那些东西已经离他太远了。他已经三年没有认真上过课了。数学还能跟得上,语文勉强,英语靠老本,物理化学基本等于零。他回去能做什么?坐在教室里当一个透明人,听着那些他听不懂的课,看着那些他做不出的题?

他回复:“我不知道回去能做什么。”

喵爱说:“你什么都不用做。你只需要坐在那里。”

方铨铎愣住了。

“你不需要一下子就变成好学生,”喵爱继续说,“你只需要出现在教室里。听课,听不懂就听不懂。做题,做不出来就做不出来。你只需要坐在那里,让自己习惯‘不是竞赛生’的生活。”

方铨铎看着这段话,忽然想起一件事。喵爱去年也是这样。从竞赛的世界里跌出来,掉进一个完全陌生的地方。她是怎么做的?她坐在教室里,听不懂课,做不出题,但她还是坐在那里。一天一天地坐,一节课一节课地熬。然后有一天,她发现自己听懂了。不是因为她突然变聪明了,而是因为她给了自己时间。

他打字:“我再想想。”

“好。”喵爱说,“不管你怎么选,我都在。”

第二天早上,方铨铎被一阵手机铃声吵醒了。

他迷迷糊糊地摸过手机,看了一眼屏幕——是一个陌生号码。他犹豫了一下,接了。

“喂?”

“方铨铎?”电话那头是一个男人的声音,有点耳熟,但他一时想不起来是谁。

“我是。您是?”

“我是铝の。”

方铨铎愣住了。铝の。人大附中竞赛队第一人,NOIP全省第一,冬令营全国第三,省选北京第一。那个永远坐在机房的角落里,永远戴着耳机,永远第一个完成题目,永远最后一个离开的人。那个在省选前夜对他说“你叫方铨铎对吧?我见过你的代码。省选第二天的第三题,你的方法最简洁”的人。

他从来没有给方铨铎打过电话。事实上,方铨铎甚至不知道他有自己的电话号码。

“你怎么知道我的号码?”方铨铎问。

“我问的教练。”铝の的声音很平静,像在说一件理所当然的事,“你还好吗?”

这个问题,方铨铎已经被问了无数次。每一次他都回答“还好”或者“不知道”。但这一次,对着电话那头的铝の,他说不出这两个字。

“不好。”他说。

铝の沉默了一会儿。然后他说:“我知道。”

方铨铎等着他继续说。但铝の没有继续说。他只是沉默着,像一座山,沉默地立在那里。那种沉默不是尴尬,也不是无话可说,而是一种陪伴。一个同样在竞赛世界里摸爬滚打了三年的人,用沉默告诉你:我懂。

过了很久,铝の说:“我明天要去国家队集训了。”

方铨铎的心被什么东西揪了一下。国家队集训。那是他做梦都想去的地方。但现在,去的人是铝の。

“恭喜。”他说。声音很轻,轻到几乎听不见。

铝の没有说“谢谢”。他只是说:“方铨铎,你的代码很好。比我见过的很多人都好。”

方铨铎愣住了。

“省选第二天的第三题,”铝の继续说,“那道后缀自动机,我用了一百二十五行代码。你用了九十八行。你的方法更简洁。”

方铨铎握着手机,不知道该说什么。

“那零点八分不是你的问题。”铝の说,“是运气。”

方铨铎的喉咙动了一下。

“方铨铎,”铝の说,“你不应该就这样结束。”

然后他挂了电话。

方铨铎坐在床上,握着手机,听着电话那头的忙音。窗外的阳光透过窗帘照进来,在地上投下一片光斑。他盯着那片光斑,脑子里反复回响着铝の的话。

你的代码很好。你不应该就这样结束。

他拿起手机,给喵爱发了一条消息:“铝の刚才给我打电话了。”

喵爱秒回:“什么?铝の?那个铝の?”

“嗯。”

“他说什么了?”

方铨铎想了想,回复:“他说我的代码很好。说我不应该就这样结束。”

喵爱发来一串感叹号,然后说:“方铨铎,你听到了吗?铝の说你代码很好。铝の!那个从来不夸人的铝の!”

方铨铎看着这行字,忽然觉得眼眶有点酸。

“方铨铎,”喵爱说,“你不是一个人。”

那天下午,方铨铎出了门。

他没有去商场,没有去便利店,也没有去未名湖。他去了学校。

站在校门口的时候,他深吸了一口气。四月的北京,风里带着花香和尘土的味道。校园里的迎春花开了,一丛一丛的金黄色,在阳光下闪闪发光。他走进校门,经过操场,经过教学楼,经过花坛。有几个认识他的同学看到他,投来惊讶的目光,但没有人和他说话。他们不知道该说什么——恭喜?安慰?假装什么都没发生?每一种都很尴尬。

他没有去教室,而是去了机房。

推开门的时候,里面空无一人。这个时间点,竞赛队的同学们应该在上课——他们已经回归正常的高中生活了,至少在文化课上,他们和普通学生没有区别。只有方铨铎,连“正常的高中生活”都没有了。

他走到自己的位置前,坐下。电脑还是那台电脑,键盘还是那个键盘。屏幕上还留着省选前他最后一次训练的界面——一道没做完的题目还留在那里,光标在最后一行代码的末尾闪烁。

那是一道后缀自动机的题目。

他盯着那道题,沉默了很久。然后他关掉了它,打开浏览器,登录了洛谷。

首页上全是关于NOI的帖子。有人在讨论今年的题目难度,有人在预测国家队的名单,有人在分享集训的经验。他看到了一条帖子:《北京省队名单公布,人大附中独占六席》。他点进去,看到了铝の的名字,看到了陈逸飞的名字,看到了李思睿的名字。没有方铨铎。

他关掉帖子,打开了另一个。这次是浙江的名单。喵爱的名字排在第十六位。下面有很多评论,有人说她是“翻盘王”,有人说她是“奇迹女孩”,有人说“差一点就没了,太惊险了”。

差一点。又是差一点。喵爱差一点就没进,他差一点就进了。但“差一点”和“进了”之间,隔着一道永远跨不过去的墙。

他关掉洛谷,靠在椅背上,看着窗外。窗外的操场上有人在跑步,有人在打篮球,有人在聊天。阳光照在塑胶跑道上,泛着白光。一切如常。没有人在意机房里有一个人,正在和过去告别。

他坐了很久。久到窗外的光线从刺眼变成柔和,从柔和变成昏黄。操场上的人越来越少,最后一个人都没有了。整个校园安静下来,像一座空城。

他站起来,走到铝の常坐的那个位置前。角落里的位置,靠墙,可以看到整个机房。桌上什么都没有——铝の从来不在桌上放任何东西,不像他,桌上永远堆满了草稿纸和空饮料瓶。

他在那个位置上坐了一下。椅子很硬,不舒服。他不知道铝の为什么喜欢坐在这里。也许是因为这里没有人打扰。也许是因为这里可以看到所有人的屏幕。也许只是因为习惯。

他站起来,走到门口,回头看了一眼机房。

三年前,他第一次推开门的时候,被眼前的景象震撼了。几十个人坐在电脑前,键盘的声音此起彼伏,像某种交响乐。他站在门口,看着这一切,心里有一个声音说:我想成为他们中的一员。

三年后,他站在同一个门口,看着空荡荡的机房,心里有一个声音说:你已经是了。

他关上门,走了。

那天晚上,方铨铎坐在书桌前,打开了《杀戮尖塔II》。

不是想玩,是因为不知道还能做什么。他机械地选择了铁甲战士——这个他第一个通关的角色,开始爬塔。

游戏开始界面的画面是一幅手绘风格的高塔,塔身被藤蔓和裂缝覆盖,塔顶隐没在云层里。他点击“开始游戏”,选择了铁甲战士。角色的描述只有一句话:“他曾登上塔顶,但他不记得看到了什么。”

方铨铎以前没有细想过这句话。但今天,他盯着这行字,忽然觉得有什么东西击中了心脏。

他曾登上塔顶,但他不记得看到了什么。

游戏的故事背景,他在网上看过一些玩家的整理。一千年前,建筑师涅奥与一位同族制造了荒疫,那场灾难让建筑师陷入昏迷。初代的战士——就是他现在选择的这个角色——登上了塔顶,击败了心脏,烧毁了荒疫,这才唤醒了沉睡的建筑师。建筑师醒来后的第一个举动,就是将那个制造荒疫的大恶魔劈成两半。

如今,千年已过,高塔重启。被重创的大恶魔为了复仇,开始控制或驱使各路角色再次攀登高塔,目标直指建筑师。而铁甲战士——当年的英雄——被大恶魔控制,被迫再次登塔,去杀死他曾经拯救过的人。

方铨铎盯着屏幕上的铁甲战士,沉默了很久。

一个英雄,被迫去杀死自己拯救过的人。一个曾经站在塔顶的人,如今被人操控着,走向同一个终点。他不知道铁甲战士在登上塔顶的时候会想什么。也许他什么都想不了——因为被控制的人,没有自己的意志。

他忽然觉得,自己就像那个铁甲战士。被什么东西控制着——不是大恶魔,而是那0.8分,是那个“差一点”,是那个“如果当初”。他每天坐在电脑前,机械地爬塔,机械地战斗,机械地赢或者输。他以为自己是在玩游戏,但其实他只是在逃避。逃避那个空荡荡的机房,逃避那间听不懂课的教室,逃避那个0.8分。

他盯着屏幕,铁甲战士已经爬到了第三层。这一层的场景是“暗港”——一片泥泞的水域地区,与尖塔的下水道相连,各类变异海洋生物与流浪者在这里出没。这是他最喜欢的关卡之一,因为敌人的攻击模式复杂,需要精密的计算。他以前会认真地计算每一张卡牌的期望值,规划每一条路线的收益。但今天,他只是机械地出牌,机械地战斗,脑子里一片空白。

打到Boss面前的时候,他停下来。

Boss是一只巨大的深海怪物,名字叫“灵魂异鱼”。它的血条很长,攻击很高,而且每三个回合会释放一次全屏攻击,几乎无法完全格挡。

方铨铎的牌组是一套“完美打击战”——通过叠加力量属性,让每一次攻击都造成巨额伤害。他在前三层小心翼翼地构筑这套牌组,放弃了所有看起来花哨但不稳定的卡牌,只留下最核心、最可靠的几张。

战斗开始了。

第一回合,他打出了“完美打击”,造成十八点伤害。Boss攻击,造成十五点伤害。

第二回合,他打出了“双重打击”,造成两次攻击,每次伤害等于基础值加力量。二十点伤害。Boss的血条掉了小小的一截。

第三回合,Boss释放全屏攻击。他打出了“壁垒”,增加二十点格挡,又打出了“巩固”,让格挡值翻倍。四十点格挡。全屏攻击造成了三十五点伤害,他剩了五点格挡。

第四回合,他继续叠加力量。第五回合,他又一次攻击。第六回合,Boss又一次全屏攻击。

如此反复。

这是一场消耗战。每一轮他都在计算——这回合是攻击还是防御?如果攻击,能打掉Boss多少血?如果防御,能撑过下一轮的全屏攻击吗?他的生命值在缓慢地下降,Boss的血条也在缓慢地减少。

第十七回合,Boss的血条只剩最后一截。方铨铎的手牌里有三张攻击牌,总伤害四十七点。Boss还剩四十三点血。

他赢了。

但他没有立刻打出手牌。他盯着屏幕,看着那些卡牌,看着Boss的血条,看着自己的生命值——只剩八点。如果这一轮他打不死Boss,下一轮Boss的全屏攻击一定会杀死他。

他深吸一口气,点击了“结束回合”。

屏幕上弹出一个窗口:“胜利!你击败了灵魂异鱼。”

他的铁甲战士站在暗港的尽头,浑身是伤,盔甲上满是裂痕。画面切换到了塔顶——和一千年前一样的塔顶,云层在脚下翻涌,远处的天空被夕阳染成金红色。

然后,一个声音响起。不是文字,是语音——游戏里罕见的语音。一个低沉的声音,像是从很远的地方传来:

“你回来了。”

方铨铎愣住了。他以前通关的时候,从来没有听到过这段语音。他查过游戏的支线剧情,知道铁甲战士有专属的回忆事件——触发后可以深挖角色的过往恩怨,比如他与建筑师、大恶魔的纠葛。但他从来没有触发过。他一直以为那只是传说,是玩家们编造的故事。

但现在,屏幕上出现了一段文字:

“铁甲战士站在塔顶,看着面前的人。那是建筑师——一千年前他拯救过的人。建筑师的脸上没有愤怒,没有恐惧,只有一种深深的疲惫。”

“‘我知道你不是自己来的。’建筑师说,‘他在你脑子里,对吗?那个被你劈成两半的家伙。’”

“铁甲战士没有回答。他举起了剑。”

“‘那就来吧。’建筑师说,‘一千年前你救了我。一千年后你杀了我。很公平。’”

屏幕上出现了一个选项:

【A. 举起剑,完成你的使命】

【B. 放下剑,对抗控制】

方铨铎盯着这两个选项,很久很久。

他知道按照游戏的设定,无论选哪个,铁甲战士都会死。选A,他杀死建筑师,然后大恶魔失去了复仇的目标,也会杀死他。选B,他反抗大恶魔的控制,但被控制的躯体无法承受这种反抗,他会和建筑师一起死去。

无论怎么选,都是死。

但他还是选了。

他选了B。

屏幕上,铁甲战士放下了剑。他的盔甲开始碎裂,裂缝里透出红色的光——那是大恶魔的控制正在反噬他的身体。建筑师看着他,沉默了很久。

“‘为什么?’建筑师问。”

“铁甲战士没有回答。他只是站在塔顶,看着一千年前他看过的风景。云层在脚下翻涌,远处的天空一片金红。”

“‘我不记得了。’他终于开口。声音沙哑,像是很久没有说过话。‘一千年前我看到了什么。我不记得了。但我知道一件事——我不想杀你。’”

“建筑师看着他,眼神里有什么东西碎裂了。然后他笑了。那是一个很疲惫的笑,但也是真实的。”

“‘那就一起死吧。’他说。”

屏幕暗了下去。然后慢慢亮起来,画面是塔顶的远景——两个小小的身影站在塔顶的边缘,并肩而立。风吹过他们的披风,猎猎作响。

然后他们跳了下去。

屏幕上弹出一行字:“铁甲战士的旅程结束了。”

方铨铎靠在椅背上,盯着那行字。

他忽然想起一件事。铁甲战士的角色描述是:“他曾登上塔顶,但他不记得看到了什么。”

他不记得看到了什么。但他记得一件事——他不想杀人。

方铨铎闭上眼睛。他想起自己登上过的那些“塔顶”——NOIP省一,冬令营最优营员,北大集训营的荣誉。他记得那些时刻吗?他记得。他记得每一个细节,每一次掌声,每一张奖状。但那些东西,现在看起来,像一千年前的风景——遥远、模糊、不真实。

但他记得另一件事。他记得喵爱说的“你不是一个人”。他记得铝の说的“你的代码很好”。他记得妈妈做的三碗粥,每一碗都凉了,每一碗都换了新的。

这些他记得。清清楚楚。

他睁开眼睛,看着屏幕上的“铁甲战士的旅程结束了”,沉默了很久。然后他关掉游戏,拿起手机,给喵爱发了一条消息。

“喵爱,我今天在游戏里触发了一个隐藏剧情。”

喵爱回复得很快:“什么剧情?”

“铁甲战士的回忆事件。他站在塔顶,建筑师问他为什么放下剑。他说:‘我不记得一千年前看到了什么。但我知道一件事——我不想杀你。’”

喵爱沉默了一会儿。然后她发来一段话:“方铨铎,你知道吗,你刚才说的那段话,让我想起了一件事。”

“什么?”

“去年,我坐在机房里,看着空荡荡的屏幕,觉得自己什么都忘了。忘了怎么做题,怎么敲代码,怎么思考。但后来我发现,我没有忘。我只是太累了。那些东西还在我脑子里,只是需要时间才能想起来。”

方铨铎看着这段话,很久很久。

然后他打字:“喵爱,我明天想去上课。”

喵爱发来一个笑脸:“去吧。我等你。”

第二天早上,方铨铎起得很早。

他穿好校服,背上书包,走出了房间。妈妈正在厨房里做早饭,看到他全副武装地站在门口,愣了一下。

“你要去学校?”

方铨铎点点头。

妈妈看着他,眼眶红了,但没有哭。她转过身,从锅里盛了一碗粥,放在桌上。

“吃了再走。”

方铨铎坐下来,一口一口地喝粥。小米粥,很稠,很香,里面有红枣和枸杞。他喝得很慢,每一口都细细地品。他已经很久没有好好吃过一顿饭了。

吃完饭,他站起来,走到门口。

“妈,我走了。”

妈妈站在厨房门口,手里还拿着勺子。她点了点头,说:“去吧。”

方铨铎推开门,走了出去。

四月的北京,早晨的空气还很凉。他深吸了一口气,肺里灌满了冷空气,凉得发疼。但他没有缩脖子,而是抬起头,看着天空。天空很蓝,万里无云,几只鸟从头顶飞过,排成人字形,向北方飞去。

他走进校园的时候,早自习的铃声刚好响起。他加快脚步,走向教学楼。推开教室门的时候,所有人都抬起头看着他。

他看到了惊讶的眼神、同情的眼神、好奇的眼神。他假装没看到,走到自己的座位上,坐下。同桌李浩看着他,张了张嘴,想说什么,但最后只是点了点头。

方铨铎也点了点头,然后从书包里拿出课本,翻到老师正在讲的那一章。

他一个字都看不懂。

他盯着课本上的公式,像在看一门外语。导数、微分、极限——这些词他以前都学过,但现在看起来像天书。他握着笔,试图在笔记本上抄写老师的板书,但抄着抄着,笔就停了。他不知道自己抄的是什么,也不知道为什么要抄。

但他没有停下来。他继续抄,一笔一画,认认真真。抄完之后,他看着笔记本上歪歪扭扭的字迹,忽然笑了。

他想起喵爱说的话:“你就是一个普通人,坐在教室里,听不太懂课,做不太出题。但那又怎样?”

是啊,那又怎样?

他翻到下一页,继续抄。

那天晚上,方铨铎给喵爱发了一条消息:“我今天去上课了。”

喵爱秒回:“怎么样?”

“一个字都听不懂。”

喵爱发来一个笑哭的表情:“正常。我第一周也是这样。”

“但我抄了一整天的笔记。”

“然后呢?”

方铨铎想了想,回复:“然后我发现,我的字好丑。”

喵爱发来一连串的“哈哈哈哈哈哈”。

“方铨铎,”她说,“你知道吗,你今天做的这件事,比我去年做的任何事都勇敢。”

方铨铎愣住了。

“我去年回学校的时候,躲在最后一排,恨不得所有人都看不到我。你居然坐在第三排?”

方铨铎笑了:“不是第三排。第五排。但已经很靠前了。”

“那也很厉害了。”喵爱说,“方铨铎,你真的变了很多。”

他变了吗?他不知道。他只知道,今天坐在教室里的时候,他忽然想起了一件事——他曾经也是一个普通的学生。在接触竞赛之前,他也会为数学题发愁,也会背英语单词,也会在语文课上打瞌睡。那时候的他,不知道什么是后缀自动机,不知道什么是网络流,不知道什么是线段树合并。他只是一个普通的高中生,每天上学、放学、做作业、考试。

后来,竞赛改变了他。它给了他一个世界,一个充满代码和算法的世界。在那个世界里,他是王。他可以解决别人解决不了的问题,可以写出别人写不出的代码。他以为自己会一直待在那个世界里。

但世界变了。他出来了。他又成了一个普通的高中生。

但他知道,他和三年前的那个普通高中生不一样了。他见过更大的世界,做过更难的事情,走过更远的路。那些东西不会因为离开了竞赛就消失。它们在他身体里,成为他的一部分。

他拿起手机,给喵爱发了一条消息:“喵爱,谢谢你。”

“谢什么?”

“谢谢你一直在我身边。”

喵爱沉默了一会儿。然后她发来一段语音。方铨铎点开,听到她的声音,轻轻的,带着笑意:

“方铨铎,你知道吗,我去年也说过这句话。对一个帮助过我的人说的。那个人对我说了一句话,我一直记到现在。”

“什么话?”

“‘你不是一个人。’”

方铨铎握着手机,眼眶有点酸。

“方铨铎,”喵爱说,“你现在知道了吧。这句话不是我说给你的。是你自己说给自己的。”

他闭上眼睛,脑海里浮现出游戏里铁甲战士站在塔顶的画面。云层在脚下翻涌,远处的天空一片金红。他不记得自己看到了什么。但他知道,有人在他身边。

窗外的路灯还亮着。远处传来汽车驶过的声音,很轻,像海浪拍打沙滩。方铨铎闭上眼睛,呼吸慢慢变得均匀。

他睡着了。没有噩梦,没有省选的考场,没有0.8分。只有一个模糊的梦——他站在一座高塔上,披风在风中猎猎作响,云层在脚下翻涌。远处,有人也在攀登。他看不清那个人的脸,但他知道,那个人也在往上走。

也许他们会在塔顶相遇。也许不会。但他们在同一座塔里,听着同样的风声,看着同样的天空。

这就够了。

第四章:转变

方铨铎回学校上课的第一周,像一场漫长的溺水。

每天早晨七点到教室,翻开课本,听课,抄笔记,下课,再听课,再抄笔记,放学,回家,做题,做不出来,睡觉。周而复始,像一台出了故障的机器,每一个齿轮都在转动,但整台机器哪儿也去不了。

最痛苦的不是听不懂——听不懂是意料之中的事。最痛苦的是那些“似曾相识”。数学课上,老师讲到导数的几何意义,他觉得耳熟,好像在某个遥远的过去见过这个词。但他想不起来了。那些公式、定理、推导过程,像被一层毛玻璃挡住,模模糊糊,看不清楚。他知道自己曾经会这些东西——高一的时候,他的数学成绩在班里排前十。但那是三年前的事了。三年的竞赛生涯,把那些普通高中生的知识从他脑子里一点一点地挤了出去,取而代之的是后缀自动机、网络流、线段树合并。现在竞赛知识用不上了,高中知识又回不来。他像一个被掏空的容器,什么都装不进去,什么都倒不出来。

英语是他唯一的安慰。三年的竞赛训练,让他读了无数篇英文论文、英文题解、英文文档。他的英语语感还在,阅读理解和完形填空能靠直觉做对一大半。但语法填空和改错就不行了——那些规则他早就忘了,全靠蒙。

物理和化学是最惨的。他连课本都看不懂。那些符号、公式、方程式,像天书一样横在他面前。他试图从最基础的开始补,翻开高一课本,看到“牛顿第二定律”,觉得认识,但仔细一想,什么都说不出来。F=ma,这三个字母他认识,但m是什么?质量。a是什么?加速度。加速度是什么?速度的变化率。速度是什么?位移对时间的导数。导数是什么?他卡住了。

他开始怀疑自己。不是怀疑智商——他知道自己不笨。他怀疑的是,自己是不是已经被竞赛“毁”了。三年的训练,把他的大脑训练成了一种特殊的形状——擅长抽象思维、擅长算法设计、擅长在复杂系统中寻找最优解。但这种形状,和高考需要的那种形状,完全不一样。高考需要的是记忆、熟练、精确。这些恰恰是他现在最缺的东西。

那天晚上,他给喵爱发消息:“我觉得自己像个废物。”

喵爱回复得很快:“怎么了?”

“数学作业十道题,我只做出来三道。物理作业一道都做不出来。化学作业我连题目都看不懂。”

喵爱发来一个拥抱的表情。

“方铨铎,你知道我去年第一周做出来几道数学题吗?”

“几道?”

“两道。十道题只做出来两道。其中一道还是蒙的。”

方铨铎看着这行字,不知道该说什么。

“但你后来怎么样了?”他问。

“后来啊,”喵爱说,“后来我慢慢地、一道一道地做。不会的就看答案,看完答案还不懂的就问老师,问完老师还不懂的就先放着。一天做不出来就两天,两天做不出来就三天。然后有一天,我发现我能做出来一半了。又有一天,我发现我能做出来大部分了。再有一天,我发现数学题也没那么难了。”

方铨铎沉默了。

“方铨铎,”喵爱说,“你才回去一周。你给自己一点时间。”

他打字:“我怕来不及。高考只有一年了。”

喵爱沉默了一会儿。然后她发来一段话:“方铨铎,你还记得你当初学后缀自动机用了多久吗?”

他愣住了。后缀自动机。他最不擅长的知识点。他花了整整两个月才真正掌握。

“两个月。”他回复。

“对。两个月。你用了两个月学会了一个那么难的东西。现在你有一年。一年时间,学那些对你来说简单得多的东西。你觉得你做不到吗?”

方铨铎盯着这段话,很久很久。

然后他笑了。是啊,后缀自动机他都学会了。高中数学,再难能难过后缀自动机吗?

他回复:“你说得对。”

喵爱发来一个笑脸:“当然说得对。我可是过来人。”

第二周,方铨铎换了一种策略。

他不再试图听懂每一节课,也不再试图做完每一道作业题。他给自己定了一个规矩:每天只弄懂一个知识点。不是“学会”,是“弄懂”。弄懂是什么意思?就是能用自己的话把这个知识点讲清楚。讲给谁听?讲给自己听。他在笔记本上写下每一个知识点的“翻译”——用自己的话,把课本上的定义和公式重新说一遍。

这个方法很慢。一天只能弄懂一两个知识点,有时候甚至一个都弄不懂。但这个方法有效。那些模糊的概念开始变得清晰,那些陌生的公式开始变得亲切。他不再觉得自己是个废物了。他只是走得比别人慢,但他还在走。

喵爱每天晚上都会问他:“今天弄懂了什么?”

他会告诉她:“导数的几何意义。”“向量的数量积。”“动能定理。”

喵爱会发来一个鼓掌的表情,然后说:“明天继续。”

有一天,他弄懂了“数列的递推公式”。他在笔记本上写下:“数列就是一堆排好队的数字,每个数字都由前面的数字决定。就像游戏里,你的下一步取决于你现在有什么牌。”他盯着这段话,忽然想起了《杀戮尖塔II》。在游戏里,每一次选择都决定了下一次的可能。你的牌组、遗物、血量,都是“前一项”,而下一场战斗的结果,就是“后一项”。这本质上就是一个动态规划问题。

他忽然笑了。原来竞赛学的东西,并没有消失。它们只是换了一种方式,留在他的思维里。

那天晚上,他给喵爱发消息:“我今天弄懂了数列。”

“然后呢?”

“然后我发现,数列递推和动态规划的状态转移方程是一回事。”

喵爱发来一个惊讶的表情:“你居然能从数列联想到动态规划?”

“嗯。而且我还发现,物理里的匀加速运动,其实就是等差数列。每一秒增加的速度是固定的,所以位移就是一个二次函数——和算法里的时间复杂度分析是一样的。”

喵爱沉默了一会儿。然后她发来一段话:“方铨铎,你知道吗,你说的这些东西,我从来没有想到过。”

方铨铎愣住了。

“我学数列的时候,就是数列。学物理的时候,就是物理。我从来没有把它们和竞赛联系起来。但你不一样。你在用竞赛的思维学文化课。这不是坏事,方铨铎。这是你的优势。”

他的优势。他从来没有这样想过。他一直以为竞赛留下的东西是负担,是让他无法适应普通学习的障碍。但现在他忽然意识到,那些东西可以是武器。

第三周的一个下午,数学课上,老师在黑板上写了一道题。

“这是一道模拟题的最后一道压轴题,”老师说,“概率题,也是全卷最难的一道。去年这道题全市没有人做出来。我给你们十分钟看看,然后我来讲。”

方铨铎抬起头,看向黑板。

题目是这样的:

甲、乙两人进行一项游戏,初始时两人各有一个“能量值”,分别为  和  为正整数)。每轮游戏,随机选择一个人(等概率)作为攻击方,另一个人作为防守方。攻击方的能量值增加 ,防守方的能量值减少 。当某人的能量值降为  时,游戏结束,该人失败。求甲失败的概率。

教室里安静了几秒,然后响起了低低的议论声。

“这什么题啊,能量值还能增加减少?”

“随机选择,这怎么算?”

“我连第一问都不会。”

老师笑了笑:“我说了,这是压轴题。全市没人做出来。你们不用紧张,看看就行。十分钟后我来讲。”

方铨铎没有听。他盯着那道题,脑子里有什么东西被触动了。

这个问题的形式,他见过。不,不是见过——是做过无数次。在竞赛里。随机游走,吸收壁,马尔可夫链。他做过无数道类似的题目。但这不是竞赛——这是高考。高考的概率题不会这么难。或者……会吗?

他重新读了一遍题目。甲失败的概率。设这个概率为 。那么 (甲能量为0,已经失败),(乙能量为0,甲胜利)。对于 ,第一轮有两种情况:

  • 甲攻击(概率 ):甲能量变成 ,乙变成 ,之后甲失败的概率为 
  • 乙攻击(概率 ):甲能量变成 ,乙变成 ,之后甲失败的概率为 

所以他得到递推式:

这个式子很漂亮,但很难直接解。方铨铎盯着它,脑子里开始搜索竞赛中学过的工具。常微分方程?不适用。特征根法?太麻烦。然后他忽然想起了什么——生成函数。

在竞赛里,他学过用生成函数解这类随机游走问题。设 ,代入递推式,可以得到一个方程。解出生成函数,然后提取系数。

他开始在草稿纸上写。递推式两边乘以 ,对  求和。经过一系列变换,他得到了:

整理得:

右边是  和  贡献的项。代入 ,他算出了边界项的具体形式。然后他解出了 ,发现它可以写成:

这个表达式看起来很复杂,但他知道怎么提取系数。他在竞赛里做过无数次——生成函数展开,二项式系数,组合数求和。他飞快地在草稿纸上写着,每一步都清晰而精确。

十分钟后,他得到了答案:

他放下笔,盯着这个结果。那么简单。那么干净。甲失败的概率,就是乙的初始能量除以总能量。和游戏的随机过程无关,只和初始比例有关。

他靠在椅背上,长出了一口气。

老师还在讲台上说:“好了,十分钟到了。这道题很难,我们来看看第一问——”

方铨铎举起了手。

老师愣住了。全班都愣住了。方铨铎——那个刚退役回来、上课连笔记都抄不利索的竞赛生——举手了。

“方铨铎?你有什么问题?”

“老师,”他说,“第三问,我做出来了。”

教室里安静了三秒。然后响起了嗡嗡的议论声。

老师看着他,眼神里带着怀疑:“你做出来了?”

“嗯。”方铨铎站起来,拿着草稿纸走到讲台上。他把草稿纸放在投影仪下面,屏幕上显示出他密密麻麻的推导过程。

“我设甲失败的概率为P(a,b),然后写出递推式……”他开始讲解。他的声音很平静,手很稳,像是在机房里给队友讲题。生成函数,边界条件,系数提取,组合恒等式。每一步都清晰而精确。

教室里安静极了。所有人都盯着屏幕上的推导过程,看着那些他们从未见过的符号和变换。老师站在旁边,表情从怀疑变成惊讶,从惊讶变成震撼。

方铨铎讲完了。他指着最后一行:“所以P(a,b)=b/(a+b)。”

教室里沉默了几秒。然后老师开口了,声音有些干涩:“这个……生成函数的方法,是大学数学的内容。你是从哪里学来的?”

方铨铎愣了一下。他这才意识到,他刚才用的不是高中数学,而是竞赛数学。生成函数、形式幂级数、系数提取——这些是他在竞赛集训中学的,是大学数学系的课程内容。

“竞赛,”他说,“我学竞赛的时候学的。”

老师看着他,沉默了一会儿。然后他笑了,那笑容里有惊讶,有敬佩,还有一丝说不清的东西。

“方铨铎,”他说,“你坐下吧。”

方铨铎走回座位的时候,全班都在看他。他看到了惊讶的眼神、敬佩的眼神、不解的眼神。同桌李浩张大了嘴,小声说:“你也太牛了吧?”

方铨铎没有回答。他坐在座位上,看着黑板上的那道题,心里有一种奇怪的感觉。不是骄傲,不是兴奋,而是一种久违的……踏实。

他以为自己什么都不会了。他以为自己已经废了。但刚才,站在讲台上的那几分钟,他发现自己还是那个方铨铎。那个能在复杂问题中找到最优解的方铨铎。那个能用生成函数秒杀概率题的方铨铎。那个曾经站在竞赛世界顶端的方铨铎。

竞赛没有白费。那些知识还在,那些思维还在,那个他还在。

那天晚上,他给喵爱打电话。

“我今天在数学课上出了一次风头。”他说。

“怎么了?”

他把那道概率题和生成函数的解法说了一遍。喵爱听完,沉默了很久。

“方铨铎,”她说,“你知道我为什么沉默吗?”

“为什么?”

“因为我在哭。”

方铨铎愣住了。

“不是难过的哭,”喵爱的声音确实带着哭腔,但她在笑,“是高兴的哭。你知道吗,你刚才说的那些东西,让我想起了一年前的我。那时候我也以为自己什么都做不了了。但后来有一天,我在物理课上用竞赛学的方法解了一道题,老师表扬了我。那天晚上,我也哭了。”

方铨铎握着手机,不知道该说什么。

“方铨铎,”喵爱说,“你没有废。你只是换了一个战场。那些东西还在你身上,只是需要时间才能被发现。”

他闭上眼睛,脑海里浮现出今天站在讲台上的画面。粉笔在黑板上吱吱嘎嘎地响,阳光从窗户照进来,在草稿纸上投下一片光斑。他讲着生成函数,手在微微发抖,不是因为紧张,是因为激动。他以为那些东西已经离他而去了,但它们没有。它们一直在那里,等着他重新发现。

“喵爱,”他说,“谢谢你。”

“谢什么?”

“谢谢你一直在我身边。”

电话那头安静了一会儿。然后喵爱说:“方铨铎,你知道吗,你今天做的事,比我去年做的任何事都厉害。”

“没有。”

“有。”喵爱的声音很坚定,“你站在讲台上,用竞赛的方法解了一道高考题。你在告诉所有人——包括你自己——你没有白费。那些年,那些刷过的题,写过的代码,熬过的夜,都是有意义的。”

方铨铎的眼眶有点酸。他深吸了一口气,说:“你说得对。”

“当然说得对。”喵爱笑了,“我可是你的军师。”

挂了电话,方铨铎坐在书桌前,看着窗外的夜空。今晚的北京,竟然能看到几颗星星。它们挂在远处,微弱却清晰。

他想起《杀戮尖塔II》里铁甲战士站在塔顶的画面。他不记得一千年前看到了什么,但他记得一件事——他不想放弃。

他打开台灯,翻开数学课本,继续做题。

窗外的星星还在亮着。明天,太阳还会升起来。而他,会继续走下去。

第五章:重逢

五月的一个傍晚,方铨铎收到了一条消息。

“方铨铎,我要来北京了。”

他盯着屏幕,愣了几秒。喵爱的消息像一颗石子,扔进他平静的湖面里,激起一圈一圈的涟漪。

“来北京?干什么?”

“北京省队集训。今年北京和浙江搞了一个交流项目,我们浙江队要来北京集训两周。就住在你们学校附近。”

方铨铎的心跳漏了一拍。北京。集训。住在他们学校附近。这意味着他能见到喵爱了。从去年冬令营到现在,他们已经快半年没见了。半年里,他们隔着屏幕聊了几千条消息,从省选聊到退役,从退役聊到文化课,从文化课聊到《杀戮尖塔II》。他以为自己已经习惯了这种隔着屏幕的陪伴,但看到“我要来北京了”这六个字的时候,他才发现——他不习惯。他从来没有习惯过。

“什么时候来?”他打字,手指微微发抖。

“下周一。待两周。”

他盯着“两周”这两个字,心里有什么东西在翻涌。两周。十四天。他可以在现实中见到喵爱,听到她的声音,看到她的表情,而不是隔着屏幕猜测她在想什么。

“我去接你。”他说。

喵爱发来一个笑脸:“好。”

那天晚上,方铨铎失眠了。他躺在床上,盯着天花板上的那道裂缝,脑子里全是喵爱的影子。冬令营的那个晚上,她站在走廊里问他那道动态规划题,眼睛亮亮的,像两颗星星。省选成绩公布那天,她发来的几十条消息,从焦急到担忧,从担忧到小心翼翼,从小心翼翼到假装没事。他退役后那几天,她每天发消息陪他聊天,说“你不是一个人”。还有那句——“方铨铎,不管你怎么选,我都在。”

他以前从来没有想过,这些意味着什么。他只是觉得,喵爱是他最重要的朋友。在他最黑暗的时候,是她的手把他拉出来的。但“最重要的朋友”这个标签,现在忽然变得不够用了。他想要更多。他想要见到她,想要听到她的声音,想要坐在她身边,想要告诉她——你不是一个人,我也是。

他翻了个身,把脸埋进枕头里。枕头上有洗衣液的味道,淡淡的,让他想起妈妈。但更多的,是喵爱。那个从未真正出现在他生活中、却无处不在的女孩。

他拿起手机,想给喵爱发点什么,但又不知道该说什么。“我想你了”?太直白。“我睡不着”?太普通。“我在想你”?太吓人。他打了几个字,删掉。又打了几个字,又删掉。最后他发出去的是:“北京最近有点冷,多带点衣服。”

喵爱秒回:“好。”

然后她又发了一条:“方铨铎,你是不是也睡不着?”

他愣了一下,回复:“你怎么知道?”

“因为我也睡不着。”

两个人沉默了一会儿。然后喵爱说:“方铨铎,你说我们见面的时候,会不会很尴尬?”

他想了想,回复:“不知道。也许会。”

“那怎么办?”

他盯着这个问题,想了很久。然后他打字:“那就尴尬着吧。反正尴尬一会儿就不尴尬了。”

喵爱发来一个笑哭的表情:“你说得好像很有道理。”

“当然有道理。我可是你的——”

他停住了。你的什么?你的朋友?你的战友?你的……

“我的什么?”喵爱问。

他深吸一口气,打字:“你的军师。”

喵爱发来一串“哈哈哈哈哈哈”,然后说:“晚安,军师。”

“晚安。”

他放下手机,闭上眼睛。窗外的路灯还亮着,橘黄色的光透过窗帘的缝隙照进来,在天花板上投下一道细长的光斑。他盯着那道光线,慢慢地睡着了。

周一的早晨,方铨铎请了半天假。

妈妈问他怎么了,他说要去车站接一个朋友。妈妈看了他一眼,没有多问,只是说:“去吧。早点回来。”

他站在北京南站的出站口,看着电子屏幕上的车次信息。喵爱坐的那趟高铁还有十分钟到站。他站在那里,手心微微出汗。他穿着一件干净的白色T恤和牛仔裤,头发洗了两遍,鞋是新的。他从来没有为见一个人这么紧张过。

出站口的人流一波一波地涌出来。他踮起脚尖,在人群中寻找喵爱的身影。然后他看到了她。

喵爱穿着一件淡蓝色的连衣裙,扎着马尾,背着一个大书包,手里还拖着一个行李箱。她比冬令营的时候瘦了一点,但眼睛还是那么亮。她站在出站口,四处张望,然后看到了他。

两个人对视了一秒。然后喵爱笑了,朝他挥了挥手。

方铨铎走过去。走到她面前的时候,他忽然不知道该说什么了。他准备好的那些话——好久不见、路上辛苦了、北京欢迎你——全都卡在喉咙里,一个字都说不出来。

喵爱看着他,也沉默了。

两个人就那么站着,在人来人往的车站里,像两棵被风吹到一起的树。

然后喵爱笑了:“你说得对,真的好尴尬。”

方铨铎也笑了。那笑容像一把钥匙,打开了什么锁住的东西。他伸出手:“我帮你拿行李。”

喵爱把书包递给他,两个人并肩走出车站。北京五月的阳光很好,暖洋洋地照在身上。街边的槐树开满了白色的花,空气里有一股淡淡的甜香。喵爱深深地吸了一口气,说:“北京的味道。”

方铨铎看着她,忽然觉得心里有什么东西落下来了。那个隔着屏幕的喵爱,和这个站在阳光下的喵爱,终于合成了一个人。她的声音比电话里更好听,她的笑容比照片里更灿烂。她站在那里,像一道光,照亮了他灰蒙蒙的世界。

“走吧,”他说,“我带你去酒店。”

集训队住在学校附近的一家酒店里。方铨铎帮喵爱把行李送到房间,两个人坐在酒店大堂的沙发上,聊了一个下午。

喵爱说了很多浙江队的事。邢苏瞳的讲课风格,陈煜轩的C类名额,集训时的模拟赛,还有那道让她崩溃的后缀自动机。方铨铎听着,偶尔插几句话,更多的时候只是看着她。看着她说话时眼睛亮亮的样子,看着她笑时弯成月牙的眼睛,看着她讲到难题时皱起的眉头。

“你呢?”喵爱问,“文化课怎么样了?”

“还行。”方铨铎说,“数学能跟上了,英语还行,物理化学还在补。”

“听说你在数学课上出了一次风头?”

方铨铎愣了一下:“你怎么知道?”

“陈煜轩告诉我的。他说你们学校有人把这件事发到洛谷上了。”

方铨铎脸红了:“那不是出风头。就是刚好会做。”

喵爱看着他,眼神里有一种他看不懂的东西。不是调侃,不是敬佩,而是更柔软的、更温暖的东西。

“方铨铎,”她说,“你知道吗,我听到这件事的时候,特别高兴。”

“为什么?”

“因为你在变好。”她说,“你在用自己的方式变好。”

方铨铎看着她,不知道该说什么。

“你刚退役的时候,我很担心你。”喵爱的声音低了下来,“我怕你一蹶不振,怕你就这么放弃了。但你没有。你找到了自己的路。你玩游戏,你回去上课,你用生成函数解出了那道题。你在一步一步地往前走。”

她抬起头,看着他。

“方铨铎,你很了不起。”

方铨铎的喉咙动了一下。他想说“没有”,想说“是你帮了我”,想说“谢谢你一直在我身边”。但这些话到了嘴边,都变成了一个字:“嗯。”

喵爱笑了:“就一个字?”

“嗯。”他说,然后也笑了。

那天晚上,他们去了酒店附近的一家小龙虾店。

方铨铎想起省选前夜喵爱说的话——“明天考完请你吃小龙虾。”那时候他说“你在杭州,我在北京,怎么请”,喵爱说“等我进了省队,去北京集训的时候请”。现在,她来了。

“这顿我请。”喵爱说,“欠了你快两个月了。”

方铨铎没有推辞。他们点了一大盆麻辣小龙虾,两瓶北冰洋。喵爱戴着手套,笨手笨脚地剥虾壳,虾汁溅了一脸。方铨铎看着她狼狈的样子,忍不住笑了。

“笑什么!”喵爱瞪了他一眼,“你会剥你来。”

方铨铎接过她手里的虾,三两下就剥好了,放在她碗里。喵爱看着那只白嫩完整的虾仁,愣住了。

“你怎么剥得这么快?”

“熟能生巧。”方铨铎说,“我小时候每年夏天都吃。”

喵爱把虾仁塞进嘴里,含糊不清地说:“不公平。你什么都会。”

方铨铎看着她,心里有一种说不出的感觉。这个女孩,在屏幕那头陪了他两个月,在他最黑暗的时候拉了他一把。现在她坐在他对面,吃着小龙虾,脸上沾着虾汁,笑得像个孩子。他想,他愿意一辈子给她剥虾。

吃完饭,两个人走在回酒店的路上。五月的北京,夜晚还有一点凉,但空气里全是槐花的甜香。路灯把他们的影子拉得很长,交叠在一起,又分开,又交叠。

“方铨铎,”喵爱忽然说,“你有没有想过,如果那0.8分没有丢,你现在会是什么样?”

方铨铎沉默了一会儿。他想过。他当然想过。如果那0.8分没有丢,他就在省队里,和铝の一起训练,和喵爱在NOI上相遇。他不会退役,不会回去学文化课,不会玩《杀戮尖塔II》,不会站在讲台上用生成函数解那道概率题。他会是一个完全不同的方铨铎。

“想过。”他说,“但我不后悔。”

喵爱看着他。

“如果那0.8分没有丢,”他继续说,“我就不会退役,不会回去上课,不会……”他顿了顿,“不会和你变成现在这样。”

喵爱愣住了。

“我们以前也聊天,”方铨铎说,“但那是竞赛生的聊天。讨论题目,讨论算法,讨论比赛。退役之后,我们聊的是别的东西。游戏,文化课,心情。我感觉……”他深吸一口气,“我感觉我更了解你了。”

喵爱没有说话。她低着头,看着脚下的路。

“喵爱,”方铨铎叫她的名字。

她抬起头。

路灯的光照在她脸上,把她的轮廓勾勒得很柔和。她的眼睛很亮,像两颗星星。方铨铎看着那双眼睛,忽然觉得什么都不怕了。

“我有话跟你说。”他说。

喵爱看着他,没有说话。

“这两个月,你一直在帮我。”方铨铎说,“我退役的时候,是你打电话给我的。我失眠的时候,是你陪我聊天的。我回去上课的时候,是你告诉我‘你不是一个人’。你做了这么多,我从来没有好好谢过你。”

“方铨铎——”

“让我说完。”他打断她,“我一直在想,你为什么对我这么好。是因为我们是朋友?是因为你也经历过同样的事?还是因为……”

他停下来,深吸一口气。

“还是因为你也喜欢我?”

喵爱的眼睛瞪大了。她的脸在路灯下泛着淡淡的红晕,嘴唇微微张开,像是想说什么,但又说不出来。

方铨铎看着她,心跳得厉害。他从来没有这么紧张过,比省选还紧张。省选最多决定他能不能进省队,但此刻,他的一句话,可能决定他们之间的关系。

“喵爱,”他说,“我喜欢你。”

夜风吹过来,带着槐花的甜香。路灯的光在风中微微摇晃,两个人的影子交叠在一起,像一幅静止的画。

喵爱看着他,很久很久。然后她笑了。那笑容不是他见过的任何一种——不是冬令营时的礼貌微笑,不是省选后的欣慰笑容,不是聊游戏时的开心大笑。那是一种全新的笑,带着羞涩、带着惊喜、带着某种他终于读懂的东西。

“方铨铎,”她说,“你知道我等这句话等了多久吗?”

方铨铎愣住了。

“从冬令营那个晚上开始。”喵爱说,“你站在走廊里给我讲题,讲完之后不走,就那么站着。我以为你要说什么,结果你什么都没说。我等你说话,等了一年半。”

方铨铎张了张嘴,一个字都说不出来。

“省选前夜我给你发消息,不是真的想问你会考什么。”喵爱的声音有些颤抖,“我只是想找个理由和你说话。结果你真的认真回答了。”

方铨铎想起那条消息——“明天的T3,如果考到字符串,你会用哪种自动机?”他说“AC自动机够用了”。他忽然觉得自己是个傻子。

“你退役之后,”喵爱继续说,“我每天都在想,要不要告诉你。但我怕你觉得我是在同情你,怕你觉得我是因为你可怜才喜欢你的。所以我什么都没说,只是每天发消息,每天陪着你。”

方铨铎的喉咙动了一下。

“方铨铎,”喵爱抬起头,看着他,眼睛里有泪光,但她在笑,“我也喜欢你。”

那一刻,整个世界都安静了。没有车声,没有人声,只有两个人的心跳声,在五月的夜风里交织在一起。

方铨铎伸出手,轻轻地握住了喵爱的手。她的手很小,很暖,指尖微微发抖。他握着她的手,像是握住了全世界。

“喵爱,”他说,“谢谢你。”

“谢什么?”

“谢谢你等我。”

喵爱笑了,眼泪顺着脸颊流下来。她没有擦,就那么笑着哭着,看着他。

“方铨铎,”她说,“你以后还会给我剥虾吗?”

他愣了一下,然后笑了。

“会。剥一辈子。”

那天晚上,他们坐在酒店附近的一个小公园里,聊到了凌晨三点。

喵爱靠在他肩膀上,两个人看着头顶的星空。北京的夜空很少有星星,但今晚例外。有几颗星星挂在远处,微弱却清晰。

“方铨铎,”喵爱说,“你以后打算怎么办?”

“考大学。”他说,“好好学习,考一个好大学。”

“然后呢?”

“然后……”他想了想,“然后学计算机。写代码。也许做游戏,也许做算法,也许做人工智能。反正不会离开这个行当。”

喵爱抬起头看着他:“你还想写代码?”

“嗯。”他说,“我退役了,但我没有放弃。我只是换了一条路。就像游戏里,你走哪条路都能到塔顶,只是路上的风景不一样。”

喵爱笑了:“你什么都用游戏打比方。”

“因为游戏教会了我很多东西。”他说,“比如——失败不是清零。你带着所有的经验,重新开始。”

喵爱看着他,眼神很温柔。

“方铨铎,”她说,“你知道吗,我一直在想,如果我们都进了省队,会怎么样。”

“会怎么样?”

“我们会一起训练,一起比赛,一起吃饭,一起聊天。你会给我讲题,我会给你加油。然后我们会一起去NOI,也许一起拿金牌,也许一起进国家队。听起来很完美。”

方铨铎听着,没有说话。

“但现在这样也很好。”喵爱说,“你回去学文化课,我在集训队训练。你有你的路,我有我的路。但我们的路是平行的,永远在一起。”

方铨铎握紧了她的手。

“喵爱,”他说,“我们会一起走到塔顶的。”

“嗯。”她说,“一起。”

第二天早上,方铨铎送喵爱去集训。站在训练基地的门口,喵爱背着书包,回头看着他。

“方铨铎,”她说,“你回去好好上课。”

“嗯。”

“不会的题就问我。”

“好。”

“别熬夜。”

“知道了。”

她站在那里,阳光照在她脸上,把她的笑容镀上一层金色。方铨铎看着她,忽然想起《杀戮尖塔II》里铁甲战士站在塔顶的画面。他不记得一千年前看到了什么,但他记得此刻——此刻,他站在这里,看着一个女孩,心里满满的都是光。

“喵爱,”他叫她的名字。

“嗯?”

“晚上我给你发消息。”

喵爱笑了,眼睛弯成月牙形:“好。我等你。”

她转身走进训练基地,走了几步,又回过头来,朝他挥了挥手。方铨铎也挥了挥手,看着她消失在门里。

他站在门口,深吸了一口气。五月的北京,空气里全是槐花的甜香。阳光很好,天空很蓝。他转过身,走向学校的方向。

手机震了一下。是喵爱的消息:“方铨铎,我刚才忘了跟你说一句话。”

“什么?”

“你不是一个人。你从来都不是。”

方铨铎握着手机,笑了。他加快脚步,走向教室。今天有数学课,老师要讲导数的应用。他以前觉得导数很难,但现在他知道了——再难的东西,只要一步一步走,总能走到终点。

就像爬塔。就像竞赛。就像他的人生。

他走进校门的时候,早自习的铃声刚好响起。他加快脚步,推开教室的门,走到自己的座位上,坐下。同桌李浩看了他一眼,小声问:“你怎么这么开心?”

方铨铎愣了一下,然后笑了:“有吗?”

“有。你嘴角都快咧到耳朵了。”

方铨铎摸了摸自己的脸,发现确实在笑。他收起笑容,翻开课本,但嘴角还是忍不住往上翘。

他拿出手机,给喵爱发了一条消息:“我到教室了。今天要好好上课。”

喵爱秒回:“加油。”

“你也是。”

“方铨铎。”

“嗯?”

“晚上见。”

他盯着那三个字——晚上见。不是“晚安”,不是“明天聊”,而是“晚上见”。因为他们晚上真的会见到——在屏幕的两端,在消息的往来中,在彼此的世界里。

他回复:“晚上见。”

然后他合上手机,翻开课本,开始听课。

窗外的阳光照进来,在课桌上投下一片光斑。他盯着那片光斑,笑了。

这一次,不是因为他做对了什么题,不是因为他赢了什么比赛。而是因为,他终于知道自己要去哪里了。

第六章:人们

喵爱来北京的第五天,方铨铎收到了一条意想不到的消息。

陈煜轩:“方铨铎,我到北京了。”

他盯着屏幕,愣了一下。陈煜轩?那个江苏的C类名额选手,省选第十七名,在江苏集训时和喵爱成为朋友的陈煜轩?

“你也来集训?”他回复。

“不是。我来参加一个夏令营。北大办的,一周。刚到。”

方铨铎想了想,打字:“那晚上一起吃饭?喵爱也在北京。”

陈煜轩秒回:“好啊!正好想见见你们。”

方铨铎又给喵爱发消息:“陈煜轩来北京了。晚上一起吃饭?”

喵爱的回复是一串感叹号,然后说:“真的?太好了!他在哪?”

“刚到。说是参加北大的夏令营。”

“那晚上一起吃!我去叫上铝の。”

方铨铎愣了一下。铝の。那个给他打电话说“你的代码很好”的铝の。那个说“你不应该就这样结束”的铝の。自从那次电话之后,他们就再也没有联系过。他不知道铝の在国家队集训得怎么样,也不知道他愿不愿意出来吃饭。

“他会来吗?”他问。

喵爱说:“我问问他。他不来也得来。”

方铨铎笑了。喵爱就是这种性格——想做的事,一定要做到。

过了几分钟,喵爱发来消息:“他说好。”

方铨铎看着这两个字,心里有一种奇怪的感觉。四个人——他、喵爱、陈煜轩、铝の。他们四个,在竞赛的世界里各自走着不同的路。他退役了,喵爱在省队,陈煜轩是C类,铝の在国家队。他们本该在NOI上相遇,但现在,因为种种巧合,提前在北京聚齐了。

他给陈煜轩发消息:“晚上七点,学校旁边的小龙虾店。你来过北京吗?”

“没来过。怎么走?”

方铨铎发了定位,然后说:“到了给我打电话,我去接你。”

“好。晚上见。”

晚上六点半,方铨铎站在小龙虾店门口。

这是他和喵爱表白那天来过的那家店。店面不大,藏在一条小巷子里,招牌被槐树遮住了一半,不仔细看很容易错过。但这里的龙虾很新鲜,辣度也刚好,喵爱上次吃得赞不绝口。

他来得早,想先占个位置。这家店生意很好,晚上七点以后基本都要排队。他推门进去,老板认出了他:“小伙子,又来啦?上次那个姑娘呢?”

“一会儿来。”方铨铎说,“今天四个人。还有没有大桌?”

老板看了看店里,指了指靠窗的位置:“那张桌子行吗?能坐六个人。”

“行。”

方铨铎坐下来,给喵爱发消息:“我先到了。占了个位置。”

喵爱回复:“我在路上了。铝の跟我一起。”

方铨铎愣了一下。铝の跟喵爱一起?他们什么时候这么熟了?

“你们一起来的?”

“嗯。他集训的地方离我不远,我顺路去叫的他。”

方铨铎盯着屏幕,脑子里浮现出铝の和喵爱并肩走路的画面。两个人都很高冷,走在一起会不会像两座冰山?

他又给陈煜轩发消息:“你到了吗?”

“快到了。在找路。”

“你在哪?我去接你。”

“不用不用。我看地图就能找到。”

方铨铎笑了。陈煜轩还是那个样子,什么事都想自己搞定。他在江苏集训的时候就是这样——明明可以向别人求助,偏要自己死磕,磕到头破血流才肯开口。

他等了十分钟,手机响了。是陈煜轩的电话。

“方铨铎,我到了。你在哪?”

“你看到槐树了吗?巷子口有一棵大槐树,往里走三十米就到了。”

“看到了看到了。我进来了啊。”

方铨铎站起来,朝门口看去。门被推开,一个高高瘦瘦的男生走进来,穿着一件蓝色卫衣,背着双肩包,脸上带着那种他熟悉的温和笑容。

陈煜轩。

他比照片上看起来瘦了一些,但精神很好。眼睛亮亮的,像是刚做完一道难题的那种亮。方铨铎朝他挥了挥手,陈煜轩看到了,走过来。

“方铨铎!”他伸出手,“终于见到真人了。”

方铨铎握住他的手:“久仰大名。”

两个人对视了一眼,都笑了。虽然从未见过面,但他们在屏幕那头已经聊了两个月。从C类名额聊到文化课,从《杀戮尖塔II》聊到生成函数。他们像是认识很久的朋友,只是第一次见面而已。

“喵爱呢?”陈煜轩坐下来,四处张望。

“还没到。和铝の一起。”

陈煜轩的表情变了一下。那变化很微妙,如果不是方铨铎一直在观察,几乎察觉不到。他的笑容僵了一瞬,然后恢复了正常。

“铝の也来?”他的声音还是那么温和,但方铨铎听出了一丝不一样的东西。

“嗯。喵爱叫的。”

陈煜轩点点头,没有再说什么。他拿起菜单,低头看菜谱,但方铨铎注意到,他的目光并没有在菜谱上移动。

十分钟后,门又被推开了。

方铨铎抬起头,看到喵爱走进来。她今天穿了一件白色的连衣裙,头发散在肩上,脸上带着笑。她的身后跟着一个人——铝の。

铝の穿着一件黑色T恤,牛仔裤,头发有点长,遮住了半边额头。他的表情还是那副老样子——面无表情,看不出在想什么。但方铨铎注意到,他进门的时候,目光扫过整个店,最后落在他身上,停了一秒。然后移开了。

“方铨铎!”喵爱走过来,在他旁边坐下,“陈煜轩!好久不见!”

陈煜轩站起来,笑着和喵爱击了个掌:“好久不见。你变漂亮了。”

喵爱笑了:“你倒是变瘦了。集训很累吧?”

“还行。习惯了。”

铝の站在旁边,没有说话。他看了看座位——方铨铎坐在靠窗的位置,喵爱坐在他旁边,陈煜轩坐在对面。剩下的位置在陈煜轩旁边,靠墙。

他走过去,坐下。

四个人坐在一张桌子上,空气忽然安静了。方铨铎能感觉到那种微妙的张力——喵爱在努力活跃气氛,陈煜轩在假装自然,铝の在沉默,而他自己,不知道该说什么。

“点菜吧。”方铨铎打破沉默,把菜单推到桌子中间,“上次我和喵爱来的时候,点的麻辣和蒜蓉双拼。你们能吃辣吗?”

“能。”陈煜轩说。

铝の点了点头。

“那就来两份麻辣,一份蒜蓉。”方铨铎对老板说,“再来四瓶北冰洋。”

老板应了一声,去准备了。

喵爱看了看陈煜轩,又看了看铝の,笑着说:“你们俩应该认识一下吧?陈煜轩,这是铝の。铝の,这是陈煜轩。”

陈煜轩伸出手:“久仰大名。”

铝の看了看他的手,然后也伸出手,握了一下:“你好。”

两个字的对话。方铨铎和喵爱对视了一眼,都忍住了笑。

“陈煜轩是C类名额,”喵爱说,“省选第十七名。差一点就进省队了。”

陈煜轩笑了笑:“差一点。和方铨铎一样。”

这句话说出来的时候,桌子上的气氛变了一下。方铨铎看了一眼陈煜轩,发现他正看着自己,眼神里有一种说不清楚的东西——不是同情,不是比较,而是一种“我懂你”的默契。

“我们都是差一点的人。”方铨铎说。

铝の忽然开口了:“你们不是差一点。”

三个人都看向他。

“你们是差运气。”铝の说,“不是差实力。”

他的声音很平静,像在陈述一个事实。但这句话的分量,比任何安慰都重。方铨铎看着他,忽然想起那天电话里他说的话——“那零点八分不是你的问题,是运气。”

“谢谢。”方铨铎说。

铝の没有回答。他拿起北冰洋,喝了一口。

小龙虾上来了。两大盆红彤彤的麻辣小龙虾,一盆金黄的蒜蓉小龙虾,冒着热气,香气扑鼻。四个人戴上手袋,开始剥虾。

喵爱还是那个笨手笨脚的样子,虾汁溅了一脸。方铨铎看着她,忍不住笑了,伸手帮她擦掉脸上的虾汁。喵爱的脸红了,小声说:“我自己来。”

对面的陈煜轩看到了这一幕,手里的虾停了一下。然后他低下头,继续剥虾,动作比刚才快了一些。

铝の也在剥虾。他的动作很慢,很仔细,像是在写代码——每一行都要对齐,每一个括号都不能少。他剥出来的虾仁完整得像艺术品,摆在碗里,一个挨一个,整整齐齐。

喵爱看着铝の的碗,又看了看自己碗里那些碎成渣的虾仁,叹了口气:“不公平。你们三个都会剥虾,就我不会。”

陈煜轩笑了:“我也不会。你看我剥的。”他举起手里的虾——虾壳碎了一半,虾肉还粘在壳上,看起来惨不忍睹。

喵爱笑了:“那咱俩是一伙的。”

方铨铎把自己剥好的虾仁放进喵爱碗里:“吃吧。”

喵爱看着碗里的虾仁,脸又红了。她小声说:“谢谢。”

陈煜轩低头剥虾,没有抬头。他的手在微微发抖,但他控制住了。他把自己剥好的虾仁放进自己碗里,一个都没吃。

铝の忽然把自己碗里的虾仁推到桌子中间:“都吃吧。”

四个人都愣住了。铝の——那个从来不和人分享任何东西的铝の——把自己的虾仁推出来让大家吃。

喵爱第一个反应过来,夹了一个:“谢谢智清!”

方铨铎也夹了一个。陈煜轩犹豫了一下,也夹了一个。

铝の没有说话,继续剥虾。

那一刻,方铨铎忽然觉得,这张桌子上的四个人,其实是一样的。他们都在竞赛的世界里拼过命,都尝过失败的滋味,都在寻找属于自己的路。铝の看起来走得最远——国家队、IOI、金牌。但他也有自己的苦——凌晨四点起床,三年如一日,没有人理解,没有人陪伴。他剥的虾再完整,也只是一个人吃。

现在,他愿意分给别人了。

吃到一半的时候,陈煜轩忽然放下筷子,看着方铨铎。

“方铨铎,我听说你在数学课上用生成函数解了一道概率题?”

方铨铎愣了一下:“你怎么知道的?”

“洛谷上有人发了。”陈煜轩笑了,“现在整个竞赛圈都知道了。退役的竞赛生用生成函数秒杀高考压轴题,这个故事太励志了。”

方铨铎脸红了:“不是什么大事。就是刚好会做。”

“刚好会做?”陈煜轩摇摇头,“生成函数是大学数学的内容。你能想到用这个工具,说明你的思维还在。你没有因为退役就丢掉那些东西。”

方铨铎沉默了。

“方铨铎,”陈煜轩看着他,眼神很认真,“你知道吗,你退役的时候,我特别难过。”

方铨铎愣住了。

“不是因为你退役了难过,”陈煜轩继续说,“是因为我觉得,竞赛圈又少了一个好人。你的代码写得那么好,你的题解写得那么清楚,你帮助过那么多人。你不应该就这样结束。”

方铨铎的喉咙动了一下。

“但后来我看到你在数学课上做的事,”陈煜轩笑了,“我忽然觉得,你没有结束。你只是换了一个战场。在竞赛战场上,你是高手。在高考战场上,你还是高手。你只是换了一个地方发光。”

喵爱在旁边用力点头:“说得对。”

铝の没有说话,但他看着方铨铎,点了点头。

方铨铎看着面前的三个人,忽然觉得眼眶有点酸。他想起退役那几天,他躺在床上,觉得自己一无是处。他以为自己被世界抛弃了,以为那些年的努力都白费了。但现在,他知道了——不是的。那些东西还在。它们在他身上,在他脑子里,在他每一次思考问题的方式里。没有人能拿走它们。

“谢谢你们。”他说。

“谢什么?”陈煜轩问。

“谢谢你们让我知道,我没有白费。”

喵爱握住了他的手。陈煜轩举起北冰洋的瓶子:“来,干一个。”

四个人举起瓶子,碰在一起。玻璃碰撞的声音清脆悦耳,在小小的店里回荡。

吃完饭,四个人走出小龙虾店。五月的北京,夜晚还有一点凉,但空气里全是槐花的甜香。路灯把他们的影子拉得很长,交叠在一起,又分开,又交叠。

“你们住哪?”方铨铎问陈煜轩。

“北大那边。坐地铁四号线。”

“我送你。”

“不用不用。”陈煜轩摆摆手,“我自己能找到。你送喵爱回去吧。”

方铨铎看了看喵爱,又看了看陈煜轩,犹豫了一下。

陈煜轩笑了:“别磨叽了。我又不是小孩子。”

他朝方铨铎伸出手。方铨铎握住他的手,感觉到他的手很暖,很有力。

“方铨铎,”陈煜轩说,“下次见面,可能就是NOI了。”

“嗯。到时候我给你加油。”

陈煜轩笑了:“那我可记住了。”

他松开手,转身要走。走了几步,又回过头来,看着喵爱。

“喵爱,”他说,“好好训练。NOI上见。”

喵爱点点头:“你也是。”

陈煜轩看了她一眼,然后转身走了。路灯把他的影子拉得很长,他的背影在槐花树下越来越小,最后消失在巷子口。

方铨铎看着他的背影,忽然想起一件事。陈煜轩喜欢喵爱。他在江苏集训的时候就喜欢她了。他从来没有说过,但方铨铎看得出来。今天吃饭的时候,他一直低着头剥虾,一直不看喵爱的方向。他在克制自己。

方铨铎忽然觉得,自己应该对陈煜轩说点什么。但说什么呢?说“对不起”?他没有做错任何事。说“谢谢你”?听起来像施舍。说“我会好好对她”?太自大了。

他什么都没有说。他只是站在那里,看着陈煜轩消失在夜色里。

未完待续。。。

已开启创作声明,允许规范转载

点点赞赏,手留余香

0

请登录后发表评论

    没有回复内容

通知图标

欢迎访问零修论坛