市预选赛的结果在比赛结束后的第三天就公布了,我们队伍以总分第二的成绩,顺利拿到了省赛的入场券。
消息传到学校的时候,整个编程部都沸腾了,佐藤学长特意买了蛋糕和饮料,在机房里办了个小小的庆祝会。彩奈和理惠也特意跑了过来,抱着我的胳膊晃个不停,嘴里不停喊着“清轩太厉害了”,连班主任都特意找我谈了话,笑着说要给我们申请社团活动经费,全力支持我们备赛省赛。
热闹过后,真正的硬仗才刚刚开始。省赛的难度比市预选赛高出了不止一个档次,比赛时间从四个小时延长到了六个小时,题目范围也更广,不仅涉及更复杂的算法优化,还加入了人工智能和大数据处理的相关内容,对团队配合和个人能力的要求都高了很多。
于是,我们的集训强度一下子就拉满了。
原本每天放学后两个小时的集训,延长到了四个小时,周末更是全天泡在机房里。教学楼顶楼的编程部机房,成了我除了教室和家之外,待得最久的地方。每天放学铃声一响,我就抱着笔记本往顶楼跑,佐藤学长和另外两名队员也会准时到,我们对着省赛的往届真题,一道一道地拆解分析,打磨算法框架,一遍遍地优化代码的运行效率,常常一抬头,窗外的天就已经彻底黑透了。
机房的空调总是开得很足,驱散了初夏深夜的闷热,也盖不住键盘敲击的清脆声响。屏幕上一行行滚动的代码,从傍晚一直亮到深夜,偶尔夹杂着队员们对算法逻辑的争论,还有苏沫橙轻手轻脚放下热饮的动静。
苏沫橙依旧是我们最靠谱的后勤负责人,也是机房里雷打不动的“编外成员”。
每天的集训,她都会准时出现,手里永远提着装满了零食和饮料的便利店袋子。夏天的冰镇乌龙茶,冬天的温热可可,还有我最喜欢的红豆面包和三角饭团,永远都准备得妥妥当当。我们对着代码焦头烂额的时候,她从不会出声打扰,只会安安静静地坐在角落的空位上,摊开自己的课本和习题册,写作业、复习功课,偶尔抬头看我一眼,眼里带着温柔的笑意。
等我们讨论的间隙,她会把拧开盖子的饮料推到我手边,把拆好包装的面包放在我面前,轻声说一句“歇两分钟再弄吧,别累坏了眼睛”。等我们熬到深夜,肚子饿得咕咕叫的时候,她总能变魔术似的拿出热乎乎的关东煮,是她算着时间,提前跑到楼下便利店买的,连萝卜都是我最喜欢的软嫩口感。
这天晚上,已经快凌晨十二点了,机房里的灯还亮着。
屏幕上的代码报错提示红得刺眼,我盯着那行报错信息,眉头皱得紧紧的,指尖无意识地敲着桌面,脑子飞速运转着,排查着可能出问题的地方。这是省赛模拟题里的最后一道压轴题,我们已经对着这个bug死磕了快两个小时,改了无数次算法,可程序一运行,还是会卡在同一个地方崩溃。
“不对,这里的循环逻辑肯定有问题。”佐藤学长坐在我旁边,指着屏幕上的代码,皱着眉说,“数据量一大就溢出,肯定是边界条件没考虑全,但是我们已经把所有情况都列出来了啊。”
另一名队员也凑了过来,指着草稿纸上的演算过程:“会不会是内存分配的问题?这个算法对内存的占用太高了,我们是不是得换个思路,用更精简的写法?”
三个人凑在一起,对着代码和草稿纸,争论了半天,还是没找到问题的根源。烦躁感一点点涌上来,我抓了抓头发,指尖在键盘上胡乱敲了两下,心里堵得慌。
连续熬了快一周的夜,睡眠严重不足,眼睛酸涩得厉害,脑子也像灌了浆糊一样,转得越来越慢。我靠在椅背上,长长地叹了口气,闭上眼揉了揉发酸的太阳穴,心里忍不住有点泄气。
就在这时,一杯温热的可可轻轻放在了我手边的桌角。
我睁开眼,就看到苏沫橙站在我身边,手里还拿着两盒温热的牛奶,正对着另外两名队员笑:“学长,你们也歇会儿吧,都熬了快四个小时了,喝杯牛奶缓一缓。脑子绷得太紧,反而想不出解决办法的。”
佐藤学长接过牛奶,看着窗外漆黑的夜空,不好意思 地笑了笑:“抱歉啊苏同学,又让你陪我们熬到这么晚。我们再弄半个小时,要是还没头绪,今天就先到这里。”
“没关系的,你们忙你们的,我在这里写作业也一样。”苏沫橙笑着摇了摇头,然后低头看向我,伸手轻轻抚平了我皱着的眉头,指尖软软的,带着温热的触感,“别跟自己较劲,先喝口可可,甜的能让人放松一点。你都盯了屏幕一晚上了,眼睛都红了。”
她的声音软软的,像羽毛拂过心尖,瞬间驱散了我心里的烦躁和泄气。我拿起桌上的可可,喝了一口,温热的甜意顺着喉咙滑下去,暖烘烘的,连带着紧绷的神经都放松了不少。
或许是热饮起了作用,或许是短暂的休息让脑子清醒了过来,我放下杯子,再看向屏幕上的代码时,突然眼前一亮,瞬间就抓住了问题的关键。
“我知道了!”我猛地坐直身体,指尖指着屏幕上的一行代码,激动地说,“不是循环逻辑的问题,也不是边界条件的问题,是这里的变量类型定义错了!我们用的类型根本装不下这么大的数据,一运行肯定会溢出!”
佐藤学长和队员立刻凑了过来,盯着那行代码看了两秒,同时拍了一下大腿:“对啊!我们居然把这么基础的东西给忘了!光顾着改算法了,根本没注意这里!”
我立刻握住鼠标,修改了变量类型,按下了运行键。屏幕上的进度条一点点往前走,这一次,没有再弹出刺眼的红色报错,程序顺利跑完了所有测试用例,结果完全符合题目要求。
“成了!终于成了!”
机房里瞬间响起了欢呼声,紧绷了一晚上的神经终于放松了下来。佐藤学长笑着拍了拍我的肩膀,语气里满是佩服:“林清轩,还是你厉害!我们几个盯着看了两个小时都没发现的问题,你一眼就看出来了!”
我笑着摇了摇头:“只是运气好而已,刚好想到了。大家都辛苦了,要不是我们一起把算法磨出来,也不可能这么顺利。”
已经快凌晨一点了,队员们也都熬不住了,快速收拾好东西,跟我们道了别,就匆匆离开了机房。转眼间,原本热闹的机房就安静了下来,只剩下我和苏沫橙两个人。
空调的风声在安静的房间里格外清晰,屏幕上还亮着顺利运行的代码界面,键盘上还留着指尖的余温。我靠在椅背上,长长地舒了一口气,整个人都瘫了下来,积攒了一晚上的疲惫,在这一刻全都涌了上来。
苏沫橙走过来,站在我身后,伸手轻轻按住我的肩膀,指尖用适中的力度捏着,帮我放松紧绷的肩颈。她的手法很舒服,力度刚刚好,我忍不住闭上眼,发出了一声舒服的喟叹。
“累坏了吧?”她低下头,在我耳边轻声说,气息拂过我的耳廓,痒痒的,暖暖的。
“有一点。”我睁开眼,侧过头看着她,心里泛起一阵浓浓的愧疚,语气里带着歉意,“对不起啊沫橙,又让你陪我熬到这么晚。每天都要跟着我泡在机房里,作业也写不好,觉也睡不好,都怪我,拖累你了。”
这段时间,为了陪我备赛,她几乎把所有的课余时间都花在了机房里。每天陪我熬到深夜,第二天还要早早起床跟我一起上学,上课的时候偶尔会忍不住打哈欠,却从来没有一句怨言。我知道,她其实对编程一点兴趣都没有,要不是为了我,她根本不用每天待在枯燥的机房里,熬到凌晨一两点钟。
可我话音刚落,苏沫橙就停下了手里的动作,绕到我面前,蹲下身,抬头看着我,眼里满是认真,还有一点小小的不开心。
“傻瓜,说什么拖累呢。”她伸手捏了捏我的脸颊,语气里没有丝毫的不耐烦,只有满满的温柔,“我从来都不觉得是拖累,更没有觉得辛苦。相反,我很喜欢这样陪着你。”
她顿了顿,指尖轻轻拂过我眼下的淡青色,一字一句地说:“我喜欢看你专注写代码的样子。你盯着屏幕的时候,眼睛里有光,整个人都在发光,特别耀眼。每次看到你为了自己喜欢的事情努力的样子,我都觉得,能这样安安静静地陪着你,真好。”
“而且,”她的脸颊微微泛红,耳尖也跟着红了,声音放得更轻,带着一点不易察觉的害羞,“这样的话,我就能有更多的时间和你在一起了。哪怕只是安安静静地待在同一个空间里,你写你的代码,我写我的作业,只要身边是你,我就很开心。”
她的话像一颗融化的糖,甜丝丝的,顺着我的耳朵,流进了我的心里,把我心里的愧疚和疲惫,全都融化得一干二净。
我看着她眼里的温柔和认真,眼眶瞬间就热了。我伸出手,把她拉进怀里,紧紧地抱住了她,下巴抵在她的发顶,闻着她身上熟悉的柑橘香气,声音闷闷的:“沫橙,你怎么总是这么好啊。”
“因为是你啊。”她笑着回抱住我,手轻轻顺着我的后背,“从以前开始,你就喜欢这样,遇到自己喜欢的东西,就会一头扎进去,熬通宵也要弄明白。初中的时候,你为了写一个小游戏,熬了三个通宵,那时候我就坐在你旁边,陪着你写作业,看着你眼睛亮晶晶的样子,跟现在一模一样。”
我愣了一下,随即笑了起来。原来她都记得,记得我男生的时候,为了代码熬通宵的样子,记得我所有的热爱和执着,从来都没有因为我的身体变了,就有丝毫的改变。
我们相拥着,在空无一人的机房里,听着空调的风声,感受着彼此的心跳,安静又温暖。
收拾好东西离开机房的时候,已经快凌晨两点了。深夜的校园里空无一人,只有路灯亮着暖黄色的光,把我们的影子拉得很长,紧紧地叠在一起。晚风卷着初夏的凉意吹过来,苏沫橙下意识地往我身边靠了靠,我立刻伸手,把她的手揣进我的口袋里,紧紧地握着。
我们牵着手,慢悠悠地走在空荡的街道上,没有说话,却一点都不觉得尴尬。偶尔有晚归的车开过,车灯划破黑暗,又很快恢复了平静。
“清轩,”快到我家门口的时候,苏沫橙突然轻声开口,“省赛的时候,我还会陪着你去。无论你要熬多少个通宵,我都会陪着你。”
我停下脚步,转过身看着她,路灯的暖光落在她的脸上,她的眼睛亮晶晶的,像盛着星星。我踮起脚尖,轻轻在她的脸颊上印下了一个吻,笑着说:“好。那以后,我的每一行代码,都有你的一份功劳。”
她的脸颊瞬间红透了,反手握紧了我的手,笑得眉眼弯弯。
深夜的风很凉,可牵着的手却很暖。我知道,未来还会有无数个这样熬夜编码的夜晚,还会有无数个难搞的bug,无数次的焦头烂额和泄气。
但我永远都不会是一个人。
因为总有一个人,会安安静静地陪在我身边,给我递上温热的可可,给我一个温柔的拥抱,陪我熬过所有的深夜,看着我为了热爱奔赴,永远做我最坚实的后盾。
而这些熬夜编码的夜晚,这些只有我们两个人的轻声会话,都会变成我们之间,最温柔、最珍贵的日常。