落霞与孤鹜齐飞

· · 休闲·娱乐

春风又绿江南岸三部曲:

文章申明:

注意,此文章为 塔与少女(https://www.luogu.com.cn/article/6ti97g7g)续写,想要让我快点生产的催更我,感谢。

这并不是方铨铎此刻在课本上读到的句子,而是他脑海里忽然浮现出的景象。

高铁的飞驰将江南的温婉迅速甩在身后,窗外的景色也从连绵的水乡逐渐变成了开阔的华北平原。夕阳已经沉入地平线以下,只留下一抹暗红色的余晖,像是在天边烧尽的一团火。

方铨铎看着窗外,玻璃上倒映着自己的脸,还有那个一直握在手心里的橙色纸鹤。

他忽然觉得,这一路的“爬塔”,其实很像这趟列车。

并不是所有的风景都在终点。有些风景在窗外,有些风景在心里,而有些风景,是那个陪你坐在列车对面、或者隔着屏幕等你的人。

“落霞与孤鹜齐飞,秋水共长天一色。”

他轻轻念出了后半句。

以前他觉得这句话写的是孤独——孤鹜是一只鸟,秋水是一潭水,长天是无限的空旷。那时候他觉得自己就是那只孤鹜,在算法的世界里独自飞翔,找不到落脚的地方。

但现在他明白了。

孤鹜并不孤独。因为它有落霞相伴。秋水也不寂寞,因为它映着长天。 就像他。

他不再是那个在机房里死磕后缀自动机、为了0.8分把自己关在房间里的方铨铎了。他爬过了一座又一座的塔——竞赛的塔,文化课的塔,高考的塔,心里的塔。每一座塔顶,都有人给他递水,有人给他加油,有人在等他。

妈妈的小米粥,喵爱的纸鹤,陈煜轩的鼓励,铝の的那句“你不应该就这样结束”。

还有那只被他写进代码里的“方糖”,那个还没出生、但已经被许诺了未来会甜一辈子的女儿。

方铨铎笑了笑,把橙色的纸鹤夹进了那本厚厚的数学笔记本里。笔记本的扉页上还写着“竞赛笔记”,但现在,里面密密麻麻的,全是导数公式和解析几何的推导。 手机屏幕亮了一下。是喵爱发来的消息。

“方铨铎,你到哪了?”

“刚过济南。”

“还有两个半小时。我给你点了外卖,送到你小区门口。是你最爱吃的红烧肉。”

方铨铎愣了一下:“你怎么知道我想吃红烧肉?”

“因为我也想吃。”

方铨铎看着屏幕,笑出了声。旁边的乘客看了他一眼,善意地笑了笑。

“方铨铎,”喵爱又发来一条,“你知道吗,我在训练基地的楼顶,看到了今天的晚霞。很红,很亮,像燃烧一样。”

“我也看到了。”

“那你说,这是不是‘落霞与孤鹜齐飞’?”

方铨铎看着窗外早已黑下来的夜色,但那抹红色的余晖似乎还残留在视网膜上。

“不是。”他打字回复。

“那是什么?”

“是‘秋水共长天一色’。”

“为什么?”

“因为秋水和长天,终于连在一起了。”

屏幕那头沉默了一会儿。然后喵爱发来一个笑脸。

“方铨铎,你变文艺了。”

“是你教的。”

“我什么时候教过?”

“你说过,塔顶的风景,来时的路,都在一起。这就是秋水和长天。”

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

“方铨铎,北京下雨了。记得带伞。”

“好。”

“还有,红烧肉记得趁热吃。”

“好。”

“还有……”

“嗯?”

“我想你了。”

方铨铎握着手机,看着那两个字。窗外的路灯一盏接一盏地亮起,像是一条发光的河流,在黑暗中蜿蜒向前。

他打字,删掉,又打字。

“我也想你了。”

发送成功。

列车穿过一条隧道,耳膜微微鼓胀。黑暗笼罩了车厢,只有屏幕的光照亮了他的脸。他想起了《杀戮尖塔II》里的那个画面——铁甲战士站在塔顶,看着云层翻涌。 但他现在的画面不一样。

他看到的不再是孤零零的高塔。他看到的是一片广阔的原野。原野上有无数座塔,每一座塔都亮着灯。有人在他的塔里,他在别人的塔里。光线交织在一起,像一张巨大的网,托住了所有下坠的人。

tunnel到了尽头,光明重新刺入眼帘。 北京到了。

方铨铎背起书包,拿好行李,随着人流走出车厢。站台的空气干燥而熟悉,带着北京特有的尘土味。他深吸了一口气,那种冰凉刺肺的感觉依然存在,但他不再觉得那是疼痛。

那是清醒的证明。是活着的证明。

他走出出站口,看到夜空下的北京。没有星星,只有远处CBD大楼的霓虹灯,像是一片人造的星河。

他拿出手机,给喵爱发了最后一条消息。

“我到了。外卖吃到了。很好吃。”

“那就好。早点休息。”

“喵爱。”

“嗯?”

“我在北京等你。”

喵爱秒回:“我也在杭州等你。”

“等什么?”

“等你接我回家。”

方铨铎笑了。他把手机放回口袋,抬头看着夜空。

夜空里没有孤鹜,也没有秋水。但他知道,它们都在。

在每一行代码的注释里,在每一个公式的推导里,在每一个并肩作战的游戏角色里,在每一个跨越千里的晚安里。

那是属于他们的,永不散场的,秋水与长天。

落霞与孤鹜齐飞,秋水共长天一色。

方铨铎站在理工楼209机房的门口,看着里面那些熟悉的、闪烁着光标的屏幕。这里比高中的机房更自由,也更混乱。有人在角落里打游戏,有人在桌上堆满了红牛罐子,有人在白板上推导复杂的数学公式。

空气里弥漫着一种混合了咖啡因、散热风扇灰尘和深夜焦虑的独特气味。

“方铨铎!别挡在门口装忧郁了,快进来!”

说话的是张伟,ID“nullptr_qwq”,现在他的代号已经变成了“小伟”,因为队里还有一个更“伟”的人。

方铨铎笑了笑,走进去。他刚找位置坐下,手机就震了一下。是喵爱的视频通话请求。

他接通,屏幕里出现了喵爱那张熟悉的脸。背景是清华的紫荆公寓,她穿着那件他洗过无数次的白色卫衣,头发乱糟糟地,显然刚睡醒。

“早啊,军师。”方铨铎笑着打招呼。

“什么早啊,都十点了!”喵爱揉了揉眼睛,“你们今天不是有ICPC选拔赛吗?怎么还没开始?”

“还有一个小时。热身。”方铨铎把手机架在显示器旁边,一边调试键盘一边看她,“你呢?周末不训练?”

“调休。昨天为了补那个线段树的Bug搞到凌晨三点,教练特批今天睡懒觉。”喵爱打了个哈欠,“对了,我昨天看到铝の在群里说话了。”

方铨铎的手指顿了一下:“铝の?他在说什么?”

“他在MIT那边好像遇到了点麻烦,不是学习上的,是……生活上的。”喵爱压低了声音,“听说他为了省钱买服务器,在学校地下室住了三个月,结果生病了。陈煜轩正在想办法帮他。”

“陈煜轩也在那边?”

“对啊,你不知道吗?陈煜轩拿到全额奖学金去了CMU(卡内基梅隆大学),离铝の很近。他们俩现在经常串门。”

方铨铎看着屏幕,脑海里浮现出两个身影。一个是永远面无表情、神一样的铝の,一个是温和笑着的陈煜轩。他们俩在大洋彼岸,居然成了相依为命的搭档。

“他们还好吗?”方铨铎问。

“应该……挺热闹的。”喵爱笑了,“陈煜轩前天跟我说,铝的因为在地下室煮面触发了烟雾报警器,差点被全楼的人赶出来。最后是陈煜轩跑去给消防员解释了半天,才把事情平息。”

方铨铎忍不住笑了。铝の,那个连代码都不会写错一行的人,居然会被煮面难住。

“我想跟他们聊聊。”方铨铎说,“能不能拉个群?”

“早就在群里了,‘流浪三人组’,快去同意请求。”

方铨铎切出微信,果然看到一个新群聊。

他点进去,里面果然有铝の和陈煜轩。

铝的头像还是一片黑,昵称也是一个句号。陈煜轩的头像是一只胖橘猫。

【陈煜轩】:哟,方大佬起床了?听说你们今天选拔赛?

【铝の】:嗯。

铝的依旧是惜字如金。

【方铨铎】:听说你在MIT煮面炸了厨房?

这行字发出去,群里沉默了整整五秒。

【铝の】:那是意外。电压不稳,功率过载。

【陈煜轩】:别听他扯淡。他就是忘关火 了,还在那儿死磕算法优化煮面的时间复杂度,说要用“动态规划”控制水温。

【方铨铎】:……那最后水开了吗?

【铝の】:开了。但在达到沸点前,我推导出了一个更好的热传导模型。

【陈煜轩】:结果面煮烂了。我只好带他去吃汉堡。

方铨铎看着屏幕,笑出了声。机房里的人纷纷侧目,林小满——也就是那个ID叫 “Memory_Error”的大一新生,从双马尾下面抬起头,冷冷地瞥了他一眼。

“很高兴就你能笑出来。”林小满说,

“离选拔赛还有五十分钟,你还有一道去年的DP题没补完。”

“知道了,满姐。”方铨铎收起笑容,但嘴角的弧度怎么也压不下去。

【方铨铎】:我很想念你们。真的。

【陈煜轩】:少肉麻。赶紧拿个金牌回来,别给咱中国区丢人。

【铝の】:代码格式要注意。不要在竞赛里写那种只有你自己能看懂的“艺术代码”。

【方铨铎】:知道了。

【铝の】:还有。

方铨铎等着。

【铝の】:如果你遇到想不通的局,不要只盯着眼前的一张牌。有时候,牺牲是必要的。

方铨铎愣了一下。这是《杀戮尖塔II》里的台词,也是铝的很少会说的人话。

“牺牲?”方铨铎打字。

【铝の】:看群公告。

方铨铎点开群公告,是一张照片。照片上是一块白板,上面画着一棵复杂的树结构,每个节点都写满了公式。而在白板的右下角,画着一只很丑的、简笔画风格的橙色纸鹤。

那是方铨铎在绍兴折给喵爱的那只纸鹤。 “这是什么?”方铨铎问。

【陈煜轩】:这是铝的在失眠的时候画的。他说他虽然不在现场,但他觉得那个纸鹤代表了一种……最优解的路径。

【铝の】:不。它代表了即使没有路,也能飞起来。

方铨铎盯着那行字,眼眶忽然有点热。

“方铨铎?”手机里传来喵爱的声音,

“你怎么了?”

“没什么。”方铨铎深吸一口气,“只是觉得,我们的塔顶,好像越来越近了。”

“嗯。”喵爱笑了,“快去比赛吧。我在清华这边给你直播加油。”

“好。”

挂断视频,方铨铎转过身,面对着屏幕。

林小满正戴着巨大的头戴式耳机,手指在键盘上飞舞。张伟在旁边紧张地搓手,嘴里念念有词:“不要紧张,不要紧张,这只是三个小时的监禁……”

“走了。”方铨铎拍了拍张伟的肩膀,

“去拿个第一回来。”

四小时后,比赛结束。

“NULL Pointer”队以解出7题的成绩,拿到了本次选拔赛的第一名。林小满全程C++输出爆炸,张伟负责过样例和写简单的模拟,方铨铎负责攻克最难的数据结构题。

最后一题是一道关于树链剖分加动态规划的题目。方铨铎盯着那道题看了二十分钟,脑子里忽然浮现出铝的那句话——“有时候,牺牲是必要的。”

他原本想写一个极其完美的线段树合并模板,但那样时间可能会不够。他咬了咬牙,删掉了那两百行精巧的代码,改写了一个O(n log n)的“暴力”树剖。

代码丑,逻辑简单,没有任何技巧。

但他提交了。

Accepted。

“这也能过?”林小满看着评测机上的绿色字母,推了推眼镜,眼神里第一次露出了认可,“虽然代码写得很烂,像屎山,但……思路是对的。有时候,屎山比摩天大楼更结实。”

“谢谢夸奖。”方铨铎笑了。

“谁夸你了。”林小满白了他一眼,收拾起自己那把粉红色的机械键盘,“走了,去吃饭。我饿了。”

食堂里人声鼎沸。方铨铎端着餐盘,在角落里找到了张伟和林小满。

“学长,你刚才最后一题那个思路太神了!”张伟一边扒饭一边说,“我还在想怎么用LCT维护动态树,你直接上树剖暴力水过去了,太解气了!”

“没办法,铝的教过我。”方铨铎说,

“有时候,最优解不是最快的算法,而是最能在时限内跑通的代码。”

“铝の?”林小满抬起头,“那个MIT的大神?”

“对。也是我的老队友。”

“听说他是个怪人。”林小满用筷子戳着盘子里的红烧肉,“从来不写注释,变量名全是单字母,代码风格极其晦涩。有人说他的代码是用汇编脑子写的C++。”

“他是。”方铨铎笑了,“但他最近在学煮面。”

林小满愣了一下,然后嘴角勾起一个很浅的弧度:“有点意思。”

就在这时,方铨铎的手机震了。是铝の发来的消息,只有一张图片。

图片是一张餐厅的账单。上面列着:“汉堡 x2,可乐 x2”。

还有一句话,是陈煜轩的字迹:“铝的今天心情不错,因为他发现煮面其实不需要热传导模型,只需要开水就行。

” 方铨铎笑了。他拍了一张食堂的照片——红烧肉、土豆丝和米饭——发回群里。 “我们在庆祝胜利。”

那边很快回复了一张照片。铝的和陈煜轩坐在一家波士顿的快餐店门口,铝の手里拿着半个汉堡,陈煜轩手里拿着一杯可乐。背景是查尔斯河的夕阳。

【铝の】: congrats。

【陈煜轩】:羡慕啊!我想吃食堂的红烧肉了!美国这边的甜得发腻,毫无灵魂!

【方铨铎】:等你们寒假回来,请你们吃全聚德。

【铝の】:已记录。

【陈煜轩】:一言为定!

方铨铎收起手机,看着对面的张伟和林小满。

“寒假,”他说,“如果我有朋友回国,介绍你们认识。”

“大神吗?”张伟眼睛一亮。

“嗯。一个神,一个……煮面大师。”

林小满推了推眼镜:“我对煮面大师没兴趣。但那个神,代码风格真的很烂吗?

” “烂到极点。”方铨铎说,“但他的人,比代码好。”

周末的晚上,方铨铎没有待在宿舍。 他去了清华。

这是他们约好的“例行约会”。虽然隔着两所学校的围墙,虽然都要赶在门禁前回去,但这是他们一周里最期待的时刻。

喵爱在清华西门等他。她穿着一件米色的风衣,围着一条灰色的围巾——那是方铨铎给她织的,虽然针脚有点歪,但她说是最暖和的。

“冷吗?”方铨铎把她的手拉过来,放进自己的大衣口袋里。

“不冷。”喵爱笑着看着他,“今天比赛怎么样?第一?”

“嗯。不过最后一题是用暴力水过去的。”

“暴力好啊。”喵爱挽住他的胳膊,沿着操场慢慢走,“暴力代表你懂取舍了。你以前不是这样的,以前你总想着把每一步都走得很完美。”

“是啊。”方铨铎叹了口气,“以前觉得算法是艺术,现在觉得算法是工具。”

“工具怎么了?工具能把事情办成就是好工具。”喵爱停下脚步,转过身看着他,“方铨铎,你有没有想过,其实我们每个人都是一个‘暴力算法’?”

方铨铎愣了一下。

“你看,我们没有预知未来的能力,不知道下一步会发生什么。我们只能用笨办法,一步一步地试,错了就回头,对了就继续。这本质上就是暴力搜索。”喵爱的眼睛在路灯下亮晶晶的,“但就是这种笨拙的暴力,让我们走到了今天。”

方铨铎看着她,心里涌起一股暖流。

“喵爱,”他说,“你说得对。我们都是暴力算法。”

“但我们的时间复杂度是无限的。”喵爱踮起脚尖,在他的唇上轻轻碰了一下,“因为我们可以一直跑下去,直到找到最优解。”

那个吻很轻,带着晚秋的凉意和唇齿间的温热。

方铨铎扶着她的腰,加深了这个吻。操场上有人在跑步,有人在练吉他,有人在打闹。但他们仿佛处在一个独立的空间里 。 “我想你了。”方铨铎在她耳边说。

“才三天没见。”

“三天七十二小时,四千三百二十分钟。”方铨铎数着。

“那你想怎么补偿?”喵爱笑着问。

方铨铎四下看了看,把她拉到操场看台下的阴影里。

“这里。”他说。

夜色掩护了一切,也放大了所有的感官。

方铨铎吻着她的额头,她的鼻尖,她的嘴唇。她的手插在他的头发里,指尖轻轻颤抖。

“方铨铎……”她轻声呢喃,像是在呼唤一个密码。

“我在。”

“你还记得我们在绍兴看烟火吗?” “记得。”

“那时候你说,以后我们会生个女儿,叫方糖。”

“记得。”

“那……”喵爱把头埋进他的怀里,声音很轻,“你觉得,现在合适吗?”

方铨铎的心跳漏了一拍。他抱着她,能感觉到她的心跳和他的心跳重合在一起。

“我还年轻,我也还没毕业。”方铨铎认真地说,“但我已经在存钱了。我的奖学金,还有比赛奖金。我想给你一个家。”

喵爱抬起头,看着他,眼眶有点红。

“傻瓜。”她说,“我不是在催你。我只是……想确定,你是不是认真的。”

“比写代码还认真。”方铨铎说。

喵爱笑了,眼泪掉了下来。

“那就好。”她在他怀里蹭了蹭,“那我就继续等你。等你毕业,等你工作,等你有能力养一只叫方糖的小猫……或者小孩。”

“一定要是小孩。”方铨铎纠正道。

“知道了。方糖,方糖,每天三块糖。”

喵爱破涕为笑。

寒假前一周,北京下了一场雪。

方铨铎和喵爱去首都机场接机。

出口处的人流熙熙攘攘。方铨铎手里举着一个牌子,上面写着“铝的煮面有限公司”几个大字。

“你这字也太丑了。”喵爱在一旁吐槽。 “艺术字体。”方铨铎辩解。

终于,两个熟悉的身影出现了。铝的穿着黑色的羽绒服,戴着黑色的口罩,只露出一双眼睛。陈煜轩穿着一件厚厚的棕色大衣,围着一条红色的围巾,手里拖着两个巨大的行李箱。

“铨铎!喵爱!”陈煜轩一出来就挥手,大步流星地走过来。

铝的跟在他身后,依然是那副波澜不惊的样子。

“欢迎回来。”方铨铎上前,和陈煜轩抱了一下,然后看向铝的。

铝的停在他面前,没有伸手,只是点了点头:“回来了。”

“嗯。”方铨铎笑了,“走,带你们去吃全聚德。”

烤鸭店里热气腾腾。方铨铎点了三只烤鸭,一堆配菜。

“在美国没吃好吧?”方铨铎给陈煜轩倒茶,“怎么感觉你瘦了?”

“别提了!”陈煜轩夹了一块鸭皮,“美国的饭简直是对人类味蕾的摧残!铝的还好,他饿不死,只要有泡面和咖啡就能活。我可是个活生生的人啊!我想吃火锅!我想吃烧烤!我想吃麻婆豆腐!” 铝的默默地剥着鸭子肉,一片一片地摆进盘子里,摆得整整齐齐,像是在进行某种精密的实验。

“铝的,你不吃吗?”喵爱问。

“在构建最优进食序列。”铝的说,“先吃皮,摄入油脂,增加饱腹感。再吃肉,补充蛋白质。最后吃饼,提供碳水化合物。这样能保证血糖平稳上升,避免餐后困倦。”

陈煜轩翻了个白眼:“你就吃吧。上次是谁说要用动态规划控制水温,结果把锅烧干了?”

大家都笑了。

饭后,他们走在王府井的街头。雪后的北京很冷,但空气很清新。路灯把雪地照得发亮。

“方铨铎。”铝的忽然停下脚步。

“怎么了?”

“我看了你选拔赛的代码。”铝的说,

“最后一题。” “哦。那个暴力写法。”

“不是写法的问题。”铝的看着他,“是你那行注释。”

方铨铎愣了一下。他想起来了。他在提交代码前,在最后一行写了一句注释:

// To Miaomiao, and the lost 0.8 points.

“代码里不应该出现这种东西。”铝的说,“但这行注释……是正确的。”

陈煜轩愣住了,喵爱也停下了脚步。

“为什么?”陈煜轩问。

铝的沉默了一会儿,然后看着漫天的飞雪。

“因为代码是冰冷的逻辑。”他说,“但写代码的人是有温度的。你记得你的痛,你记得你的爱。这些记忆会变成你的‘边界条件’,让你在无限循环的世界里,找到出口。”

陈煜轩拍了拍铝的肩膀:“我说,你是不是在美国修了哲学双学位?怎么说话这么玄乎?”

铝的没有理会他的调侃,只是看着方铨铎:“你不再是那个只会追求最优解的机器了。你是一个会写代码的人。”

方铨铎看着铝的,又看了看旁边的喵爱、陈煜轩。

雪落在他们的肩膀上,头发上,睫毛上。 “是啊。”方铨铎握紧了喵爱的手,“我是个会写代码的人。也是个会煮面的人。”

陈煜轩大笑起来。 “来来来,为了‘会写代码也会煮面的人’,为了我们这群‘暴力算法’,干一杯!”

四个人举起手里的热奶茶。

玻璃杯碰撞在一起,发出清脆的声响,像是一段新的代码开始运行的信号。

方铨铎喝了一口奶茶,很甜,很暖。

他想起一年前那个盯着天花板的自己,那个考了138分的自己。那时候他以为世界塌了。但现在他知道了,世界没有塌,只是换了一张地图。

这张地图上,有高塔,有深渊,有代码,有煮面。有铝的,有陈煜轩,有喵爱。还有那只橙色的纸鹤,一直飞在他的心里。 “走吧。”方铨铎说,“去未名湖滑冰。”

“现在?”陈煜轩看着黑漆漆的湖面,“多冷啊。”

“就是因为冷才要去。”方铨铎拉着喵爱往前走,“去感受一下,什么叫‘秋水共长天一色’的前一句。”

“什么前一句?”喵爱问。

“落霞与孤鹜齐飞。”

方铨铎回过头,看着他们。

“我们就是那群孤鹜。虽然孤独,但我们一直在一起飞。”

雪越下越大,覆盖了他们的脚印,也覆盖了来时的路。但前方,依然有光。 那是未名湖博雅塔的灯光,是机房深夜不灭的屏幕,是每个人心里那座永不熄灭的高塔。

大一的那个冬天,北京下了一场很大的雪。

方铨铎并没有像其他竞赛生那样,急于在ACM的赛场上证明什么退役后的“余威”。相反,他成了北大图书馆里最安静的存在。他身边坐着林小满,那个代码风格暴力的学妹;隔着电脑屏幕,是远在清华集训的喵爱。

那时候的生活,像是一段写好了死循环的代码,单调却有温度。

“方铨铎,帮我看看这个线段树。”

林小满把电脑推过来,屏幕上一堆红色的报错信息。

方铨铎扫了一眼:“第34行,你把 l 写成了 1。还有,你的pushdown写反了。”

林小满推了推眼镜,脸涨得通红:“我……我刚在想那个拓扑排序的题。”

“想题也不能瞎写。”方铨铎笑着把电脑推回去,“对了,晚上有场电影,去吗?”

“不去。”林小满冷冷地拒绝,“晚上有校队训练。”

“不是那种电影。”方铨铎压低声音,“是喵爱她们学校搞的纪录片展映,我也想顺道去见见她。”

林小满的手指在键盘上停住了。她转过头,看着方铨铎,眼神里有一种介于“鄙视”和“羡慕”之间的情绪。

“你真是……”她叹了口气,“写代码的时候像个老头,谈恋爱的时候像个傻子。”

“这叫生活态度。”方铨铎笑了笑。

那天晚上,方铨铎顶着寒风去了清华。他在校门口等了十分钟,看见喵爱裹着白色的羽绒服跑出来,鼻尖冻得红红的。

“冷死了冷死了!”喵爱一头扎进他怀里,双手像冰块一样贴在他的后腰上,“你怎么不穿那条厚围巾?”

“穿了,怕被风吹跑。”

“借口。”喵爱抬头看着他,呼出的白气在两人之间缭绕,“方铨铎,我想吃火锅。”

“好。去吃海底捞。”

“不,去那种巷子里的小店。只有几桌的那种,我们要坐在角落里。”

“为什么?”

“因为那是‘私有的’,不是‘公共的’。”喵爱眨了眨眼。

方铨铎愣了一下,随即笑了。他懂她的意思。在这个充满竞争和公开评测的世界里,他们想要一点只属于两人的私有内存。

那天晚上,他们坐在一家不知名的小火锅店里,锅底咕嘟咕嘟地冒着热气。方铨铎看着喵爱大口大口地吃鱼丸,忽然觉得,所谓的“最优解”,其实就是眼前这一刻。

“喵爱。”

“嗯?”

“以后我们结婚吧。”

这句话没有铺垫,没有单膝跪地,就像是在说“再加份宽粉”一样自然。

喵爱的筷子顿住了。她嘴里还叼着半个鱼丸,眼睛瞪得大大的,像只受惊的仓鼠。

“你……你说什么?”

“我说,我们结婚。”方铨铎放下筷子,看着她的眼睛,“不是毕业以后,不是工作以后。是……只要到了法定年龄,我们就结。”

喵爱咽下鱼丸,脸慢慢红了,红得像锅底的辣椒。

“方铨铎,你这是……O(1)的求婚吗?”

“对。常时间复杂度,无延迟,即时生效。”

喵爱忽然笑了,笑着笑着,眼泪掉进了碗里。

“好。”她说,“但我有个条件。”

“什么?”

“以后家里,代码归你写,家务归你做,我负责……指导。”

“成交。”

第二乐章:长跑与全局变量 大二,是代码飞速增长的两年,也是他们感情迅速升温的两年。

这一年,铝の和陈煜轩从美国回来了。

不是休假,是永久定居。铝の在MIT读博读了一半,觉得“学术界的延迟太高,无法忍受”,于是带着陈煜轩回国创业了。

他们在北京五道口租了个地下室——是的,又是地下室,但这次不是用来煮面的,而是用来搞AI服务器的。

“方铨铎,来帮把手。”

陈煜轩在电话里喊,声音听起来像是被炸鸡噎住了。

“帮什么?搬砖吗?”

“搬服务器!这玩意儿死沉死沉的!铝的那个疯子,非要自己组装液冷系统,现在地下室全是管子,跟迷宫一样!”

方铨铎叹了口气,放下手里的《计算机网络》,拉着喵爱去了五道口。

地下室里一片狼藉。到处是散落的硬盘、显卡和各种颜色的线缆。铝の穿着一件防静电服,戴着手套,正蹲在一台巨大的机箱前,手里拿着焊枪。

“水温恒定了没?”铝の头也不抬地问。

“恒定了!但你的算法还有bug,风扇转速一直在跳!”陈煜轩满头大汗地在另一头喊。

方铨铎看了一眼那个场景,忍不住笑了。这哪里是科技公司,这分明是赛博朋克时代的废品回收站。

“我来吧。”方铨铎挽起袖子,走过去。

他拿起旁边的笔记本电脑,连上了服务器的监控接口。屏幕上一行行数据飞速滚动。

“PID参数没调好。”方铨铎看了一会儿,指出了问题,“你的I值太大了,导致震荡。把它调小0.5。”

铝的手顿了一下,然后迅速在键盘上敲了几行代码。

风扇的嗡嗡声平稳了下来。

“行啊。”铝の终于抬起头,摘下护目镜,“什么时候懂控制理论了?”

“大二期末考复习的。”方铨铎拍了拍手上的灰,“为了不挂科。”

陈煜轩凑过来,给喵爱递了一瓶可乐:“你看,这就是家庭和事业的平衡。我们负责折腾,他负责兜底。”

喵爱笑着接过可乐:“那方铨铎,你以后也给我兜底吗?”

“只要你别把代码写到死循环里。”

那天晚上,四个人坐在地下室的台阶上,吃着盒饭。

“我们给公司起个名字吧。”陈煜轩提议。

“叫‘NullPointer’怎么样?”林小满不知什么时候也来了,手里还拿着一把螺丝刀。

“不好,太丧。”喵爱摇头。

“那叫‘秋水’?”方铨铎说。

“太文艺。”陈煜轩反对。

铝の沉默了一会儿,然后说:“就叫‘糖块’吧。”

所有人都愣住了。

“为什么?”方铨铎问。

铝の看着方铨铎,眼神里居然有一丝笑意:“因为你说过,未来的女儿叫方糖。糖是甜的。我们做的AI,也应该给人带来甜头。”

陈煜轩一拍大腿:“好!就叫糖块科技!以后我们就是卖糖的!”

大家都笑了。那个夜晚,地下室虽然阴冷潮湿,但因为这个名字,变得格外温暖。

大三

大三的期末季,图书馆座无虚席。

方铨铎和喵爱占据了理科图书馆三层最角落的一个位置。这里背靠着书架,两侧被高高的书山挡住,形成了一个极其隐蔽的死角。

那是他们长期“占领”的据点。

桌上堆满了书。《计算机体系结构》、《人工智能导论》、《操作系统概念》。在书堆的缝隙里,两只手悄悄地牵在了一起。

“别闹。”喵爱低着头,假装在看PPT,手指却在方铨铎的手心里轻轻挠了挠,“我在复习。”

“我也是。”方铨铎目不斜视地盯着屏幕上的编译原理代码,另一只手却反握住她的手,指腹轻轻摩挲着她无名指根部——那里空荡荡的,但他总觉得应该有个东西。

“方铨铎。”喵爱忽然凑过来,声音压得极低,温热的气息喷洒在他的耳廓上,带着一股淡淡的橘子味洗发水香气,“你觉不觉得,那个正在对面睡觉的男生,打呼噜的声音像个二进制循环?”

方铨铎差点没忍住笑出声来。他转过头,看着近在咫尺的喵爱。

她今天没戴眼镜,化了点淡妆,眼睛大而明亮,像极了未名湖里最清澈的那一汪水。图书馆的灯光打在她侧脸上,给她的睫毛镀上了一层金边。

“不像二进制。”方铨铎小声纠正,“像是一个死循环代码,没有 break。”

“那你给我 break 一下。”喵爱眨了眨眼。

“怎么 break?”

“亲我一下。”

方铨铎的心跳漏了一拍。他看了一眼四周——虽然是个死角,但这毕竟是公共图书馆。随时可能有路过的同学,或者过来找书的图书管理员。

“在这里?”他挑了挑眉,眼神里带着几分纵容和挑衅。

“对,就现在。”喵爱非但没有退缩,反而凑得更近了,鼻尖几乎要碰到他的鼻尖,“方同学,你不会不敢吧?”

激将法。老套,但有效。

方铨铎合上电脑,顺手把那本厚厚的《体系结构》立了起来,挡住了外侧的视线。

然后,他伸手扣住喵爱的后脑勺,在那本书形成的狭小屏障后,吻了上去。

这个吻很轻,很克制,带着图书馆特有的静谧和紧张感。只有唇齿间轻微的碰撞声,和彼此逐渐急促的呼吸声。

喵爱闭着眼睛,双手紧紧抓着方铨铎的衣袖。

过了好几秒,方铨铎松开她,额头抵着她的额头,看着她迷离的眼睛和泛红的脸颊。

“还在循环吗?”他低声问。

喵爱喘了口气,眼神有些迷蒙,嘴角却勾起一抹甜甜的笑:“死锁了。现在只能强制重启。”

“怎么重启?”

“再亲一口。”

方铨铎笑了,正准备俯身,忽然听到书架另一端传来了脚步声。

两人瞬间分开,坐得笔直,假装在全神贯注地看书。

一个抱着一摞书的同学从他们面前走过,狐疑地看了他们一眼——虽然他们坐得很端正,但方铨铎那本竖起来的《体系结构》实在有点欲盖弥彰,而且喵爱的脸红得像番茄。

等那人走远了,喵爱才趴在桌子上,把脸埋进臂弯里,肩膀一抖一抖的。

“笑什么?”方铨铎用笔戳了戳她。

喵爱抬起头,眼角还挂着笑出的泪花:“方铨铎,我们好像在做坏事的小学生。”

“嗯。”方铨铎握住她的手,放在唇边亲了一下,“但感觉很爽。”

“我也觉得。”喵爱反握住他的手,十指紧扣,放在书本的阴影里,“方铨铎,我们以后要买个大房子。要有一个像这样的书房,只有我们两个人。我想什么时候亲你就什么时候亲,不用担心被人看见。”

方铨铎看着她认真的眼睛,心里涌起一股从未有过的坚定。

“好。”他说,“买带落地窗的。要有一个大沙发,还要有一台配置很好的电脑。”

“还有一只猫。”

“对,一只橘猫,叫‘Pascal’。”

“为什么叫 Pascal?”

“因为它是‘面向过程’的,就像我们,一步一步来,不跳步,不慌张。”

喵爱笑了,把头靠在他的肩膀上:“嗯。一步一步来。”

那天下午,他们在图书馆里坐到了闭馆音乐响起。出来的时候,外面下起了小雨。

两人共撑一把伞,雨水打在伞面上,滴答作响。

方铨铎把伞大半都倾斜向喵爱那边,自己的左肩膀湿了一大片也浑然不觉。

“方铨铎。”喵爱忽然停下脚步,在雨中看着他。

“怎么了?”

“我想嫁给你。” 这句话没头没尾,却像一道闪电,瞬间击中了方铨铎的心脏。

不是因为求婚,不是因为承诺。而是因为她语气里的那种理所当然,就像在说“我想喝水”一样自然。

在这个充满不确定性的算法世界里,她是唯一一个确定的常量。

方铨铎放下伞,任由雨水打在脸上。他双手捧起喵爱的脸,认真地看了她三秒,然后说:“等我毕业,我们就领证。”

“好。”喵爱踮起脚尖,吻了吻他的嘴唇,“这可是你说的。不许反悔,否则就让你这辈子写的代码全是 Bug。”

“绝不反悔。”方铨铎抱紧她,在雨中许下了这个比任何算法都严谨的誓言。

第三乐章:领证前的那个凌晨 大四毕业前的那个晚上,方铨铎失眠了。

明天就是领证的日子。户口本、身份证、照片,所有东西都准备好了,整整齐齐地放在床头柜上。

他翻了个身,看着身边熟睡的喵爱。

她睡得不太安稳,眉头微微皱着,似乎在梦里还在解一道难题。一缕头发垂在脸颊边,随着呼吸轻轻晃动。

方铨铎忍不住伸出手,把那缕头发别到她耳后。

指尖触碰到她温热的皮肤,那种真实的触感让他心里踏实无比。

这四年,像是做了一场漫长的梦。

从那个差点被0.8分击垮的少年,到如今即将成为她丈夫的男人。他觉得自己像是穿越了无数个节点,终于找到了唯一的出口。

“……方铨铎?”喵爱迷迷糊糊地睁开眼,看到他正盯着自己,下意识地往他怀里钻了钻,“几点了?”

“凌晨三点。”方铨铎把她搂紧,下巴抵着她的头顶,“睡不着。”

“紧张?”喵爱闭着眼睛问,声音软绵绵的,带着刚睡醒的沙哑。

“有点。”方铨铎诚实地回答,“怕明天民政局系统崩溃。”

喵爱“扑哧”一声笑了出来,懒洋洋地抬起一条腿,搭在他身上,像只树袋熊一样挂在他身上。

“系统崩溃了我们就排队。排一天也排。”

“要是户口本丢了怎么办?”

“那就回老家补办。补办了再来。”

“要是……我要是以后对你不好怎么办?”

喵爱睁开了眼睛。在黑暗中,她的眼睛亮晶晶的,像两颗星星。

她伸手摸了摸方铨铎的脸颊,指腹轻轻摩挲着他的嘴唇。

“方铨铎,你知不知道,什么是最好的算法?”

“时间复杂度最低的?”

“不是。”喵爱摇摇头,“是容错率最高的。”

她凑近他,吻了吻他的下巴。

“我们的关系,就是一个容错率极高的系统。你可以犯错,可以Bug,可以偶尔死机。只要你有重启的勇气,只要你不退出进程,我就永远在等你 Debug。”

方铨铎看着她,眼眶突然有些发热。

“喵爱。”

“嗯?”

“我爱你。”

“我知道。”喵爱笑了,在他怀里找了个舒服的姿势,重新闭上眼睛,“我也爱你。快点睡吧,明天还得早起抢号呢。”

“好。”

方铨铎闭上眼睛,怀里抱着他此生最重要的那个“全局变量”。

窗外,晨曦微露。

新的程序,即将开始运行。这一次,没有结束条件,只有一个无限循环的 while(true),里面写着两个名字:

FangQuanduo && MiaoAi

大四

大四,方铨铎和喵爱都拿到了保研资格。

那是他们大学最忙碌的一年。论文、实习、项目,像雪花一样压下来。但无论多忙,每周五晚上,他们都会保留一项神圣的活动——

去学校的操场散步。

那是一个初夏的夜晚,风吹过操场边的杨树,沙沙作响。

“方铨铎,你觉得我们以后会是什么样?”喵爱问。

“什么样?”

“就是……老了以后。”

方铨铎想了想:“大概就是两个老头老太太,坐在摇椅上,互相吐槽对方当年的代码写得烂。”

“那你得保证你活得比我长。”喵爱说,“不然谁帮我改Bug?”

“放心。”方铨铎握紧了她的手,“我会一直给你改Bug。直到我也变成一堆不可回收的垃圾数据。”

“方铨铎。”

“嗯?”

“我不想等了。”

方铨铎停下脚步,看着她。

“你说什么?”

“我说,我不想等毕业,不想等工作,不想等买房。”喵爱的声音在夜风里有些颤抖,“我想现在就和你结婚。就在这个夏天。”

方铨铎看着她,月光洒在她的脸上,勾勒出他熟悉的轮廓。那个曾经在NOI赛场上咬牙坚持的女孩,那个在电话里哭着说“你不是一个人”的女孩,那个在西湖边看烟火的女孩。

现在,她就在这里,要求一个确定的未来。

“好。”方铨铎说,“就在这个夏天。”

第四乐章:主函数 Main() 婚礼是在杭州举办的。

没有奢华的酒店,没有上百桌的宾客。就在西湖边的一个小庄园里,只有最亲近的家人和朋友。

铝の是伴郎。他穿着一身不太合身的西装,表情依然严肃,但他把戒指盒紧紧攥在手里,像是在守护一个核心数据库。

陈煜轩是司仪。他拿着话筒,哽咽着说:“我认识这对冤家……哦不,这对新人,已经六年了。从竞赛到大学,从北京到杭州,从0.8分到满分。他们证明了,爱,是这世上唯一无法被算法穷举的东西。”

喵爱穿着白色的婚纱,站在花拱门下。她手里捧着一束橙色的玫瑰——那是方铨铎特意选的,因为那是纸鹤的颜色。

方铨铎走向她。每一步都走得很慢,很坚定。

当他站在她面前,看着她的眼睛时,所有的喧嚣都消失了。没有掌声,没有音乐,没有蝉鸣。只有两颗跳动的频率,达到了同步。

“方铨铎。”喵爱轻声说,“你愿意做我的编译器吗?无论我写出多烂的代码,你都愿意帮我编译通过吗?”

方铨铎笑了,眼里含着泪。

“我愿意。”他说,“直到世界末日,或者栈溢出。”

他给她戴上戒指。那一刻,他觉得,自己的人生程序,终于进入了最完美的主循环。

第五乐章:新的进程 婚后的生活,并不是童话里的“从此幸福快乐地生活在一起”,而是充满了琐碎的Debug。

方铨铎在北大读研,喵爱在清华读研,两人依然过着异地恋般的生活——虽然只有几站地铁的距离。

直到两年后,喵爱怀孕了。

那是一个清晨,喵爱拿着验孕棒,手在发抖。

“方铨铎……”

“怎么了?是不是生病了?”方铨铎迷迷糊糊地从床上爬起来。

“不是……”喵爱把验孕棒递给他,“你看……两条杠。”

方铨铎愣了足足十秒。

“你是说……我要当爸爸了?”

“嗯。”

方铨铎猛地跳起来,抱住喵爱,转了好几个圈。

“我要当爸爸了!我要当爸爸了!”

“别转了!我晕!”喵爱笑着拍他的背。

那天,方铨铎给铝の和陈煜轩发了消息。

“我要当爸爸了。”

铝の回了一个字:“恭喜。”

陈煜轩回了一串表情包:“以后有个小屁孩跟在我们屁股后面跑代码了!哈哈哈!”

十个月后,女儿出生。

方铨铎抱着那个粉粉嫩嫩的小肉团,手都在抖。她太小了,皮肤透明得能看见血管,眼睛闭着,小嘴巴还在微微蠕动。

“叫什么?”喵爱虚弱地问。

“方糖。”方铨铎毫不犹豫地说,“方铨铎的方,喵爱的糖。”

喵爱笑了,眼角还挂着泪花。

“你好,方糖。”她轻轻戳了戳婴儿的小脸蛋,“欢迎来到这个充满Bug的世界。”

方糖似乎听懂了,打了个哈欠,又睡着了。

第六乐章:奶龙训练营的诞生 方糖五岁那年,展现出了惊人的编程天赋。

那天,方铨铎正在电脑前写论文,方糖搬着小板凳凑过来,盯着屏幕看了一会儿,突然指着一行代码说:“爸爸,这里少了个分号。”

方铨铎一愣,仔细一看,还真是。

“你怎么知道?”

“看起来不对劲。”方糖歪着脑袋说。

方铨铎和喵爱对视一眼,都看到了对方眼里的惊讶。

“看来,她是遗传了你的暴力美学,还是我的直觉天赋?”方铨铎问。

“我看是遗传了铝の的挑剔。”喵爱笑了。

为了给方糖找个合适的“玩伴”,也是为了不浪费她的天赋,铝の提议搞个内部的小型训练营。

“就叫‘奶龙’吧。”铝の说,“虽然听起来傻,但是……很可爱。”

于是,就有了开头的那一幕。

方糖站在那栋灰扑扑的大楼前,虽然嘴上嫌弃,但心里其实充满了好奇。

她走进大厅,看着墙上那些泛黄的照片,看着那个叫“吃饭”的男生写的TopTree代码,忽然觉得,这个世界好像比她想象的要有趣得多。

她不知道的是,在这个训练营的背后,站着一群闪闪发光的人。

她的父母,她的陈叔叔,她的铝叔叔,还有那个正在帮她调试设备的林阿姨(林小满现在已经是糖块科技的首席架构师了)。

他们都是这座高塔的攀登者,而现在,他们要把火炬交给她。

方糖抱着电脑,站在二楼的楼梯口,看着窗外透进来的阳光。

空气里漂浮着细小的尘埃,在光束中飞舞。

她想起了爸爸教她的第一行代码:print("Hello, World!")

她也想起了妈妈教她的第一句诗:落霞与孤鹜齐飞。

她深吸一口气,迈开了步子。

这就是她的世界了。

充满了Bug,充满了未知,但也充满了爱。

而这,才刚刚开始。