下一章 上一章 目录 设置
8、暗流·前奏 ...
-
一、名单公布:对视里的硝烟
省赛名单张贴在实训楼公告栏时,正是四月末的黄昏。宋谨燃的白衬衫被夕阳染成蜜色,他单手插兜站在人群外,看着自己名字后面跟着的“队长”二字,指节无意识摩挲着牛仔裤口袋里的U盘——那里面存着他昨夜刚优化完的算法模型。
“哟,宋少又要卫冕冠军了?”身后传来带刺的调侃。俞曜暻抱着文件夹挤过来,黑色卫衣帽子滑到后颈,露出后颈那颗暗红胎记。两人目光同时落在名单上,宋谨燃的“A队”与俞曜暻的“B队”分列第一、第二,像是提前写好的对仗句。
宋谨燃转身时带起的风掀起俞曜暻的刘海,他挑眉时眉骨在阳光下投下阴影:“去年你输在递归算法的时间复杂度,今年还敢硬碰硬?”这话让周围几个参赛选手悄悄交换眼神——去年省赛决赛,俞曜暻正是在递归模块超时导致失分,而宋谨燃的动态规划解法至今被当作经典案例。
俞曜暻却忽然笑了,指尖敲了敲公告栏:“名单上新增的‘智能硬件组’,宋少不打算解释下?”他指的是A队新加入的成员陈墨,这个计算机新生曾在全国青少年机器人竞赛中夺冠,而零点队的项目恰好涉及硬件交互。
暮色渐浓时,动员会场的LED屏亮起。宋谨燃坐在前排右侧,透过矿泉水瓶的折射看斜后方的俞曜暻。对方正在低头调试笔记本,屏幕蓝光映得他睫毛投下阴影,手腕上褪色的红绳随着敲键盘的动作晃来晃去——那是俞曜暻父亲工厂的平安绳,宋谨燃记得三年前自己随父亲去收购工厂时,曾在车间见过同样的红绳挂在机床边。
“下面请两队队长发言。”主持人的声音打断思绪。宋谨燃上台时故意放慢脚步,经过俞曜暻座位时,用只有两人能听见的声音说:“陈墨的避障算法用了粒子群优化,你昨天在论坛问的参数问题,我让他改了第三维权重。”
俞曜暻抬头,正对上宋谨燃转身时微弯的嘴角。他忽然想起十二岁那年,两人在编程夏令营初次见面,宋谨燃也是这样笑着把自己卡在树上的无人机取下来,说“下次记得算好风速”。此刻会场的镁光灯打在宋谨燃肩上,他身后的背景板上“公平竞技”四个大字被照得发亮,而俞曜暻放在腿上的手,正攥着口袋里皱巴巴的医院缴费单——父亲的透析费又该交了。
二、匿名邮件:黑幕里的抉择
凌晨两点的实验室只有零点队的工位亮着灯。俞曜暻揉了揉酸涩的眼睛,屏幕上的硬件驱动程序依然报错。他起身接热水时,余光瞥见桌上的手机屏幕亮起——是陌生邮箱发来的邮件。
附件下载进度条走到87%时,他忽然想起上周在图书馆,曾有个穿灰色连帽衫的人撞了他肩膀,当时以为是意外,现在却觉得那人怀里鼓囊囊的,像是藏着笔记本电脑。文件解压的瞬间,他的瞳孔猛地收缩:收购合同上“宋氏集团”的红章刺得眼睛生疼,附件里的银行流水显示,三年前那场工厂收购中,宋氏通过空壳公司转移了近千万资金。
“想赢,就用这个毁掉他。”匿名信的最后一句让俞曜暻后背发凉。他颤抖着点开宋谨燃的聊天框,最新消息停留在三天前:“老地方见?”那是他们每周六下午打星际争霸的约定。此刻聊天框的光标闪烁如心跳,他想起宋谨燃总说“代码不该有漏洞,做人也一样”,可眼前这些PDF文件,却像打开了潘多拉魔盒。
窗外忽然下起暴雨。俞曜暻猛地站起身,椅子在地面划出刺耳声响。他抓起U盘冲向机房,却在走廊拐角撞见陈墨抱着工具箱经过。“俞学长去备份代码?”少年的笑容清澈,“燃哥说今天的算法优化版在他工位第二格抽屉——”话音未落,俞曜暻已经冲进机房,身后传来陈墨疑惑的嘀咕:“伞还没拿呢......”
服务器的冷风吹得人发抖。俞曜暻将U盘插入主机时,手背上的青筋突突直跳。屏幕上跳出宋氏集团的收购时间线,他忽然想起父亲住院时,主治医生说“要是当年工厂没被收购,医保可能......”那些没说完的话被心电监护仪的滴答声盖过,此刻却在耳边清晰起来。鼠标悬停在“发送到省赛组委会邮箱”的按钮上,他的指甲几乎掐进掌心。
三、代码危机:蓝屏后的迷局
删除键按下的瞬间,机房的灯突然熄灭。俞曜暻以为是跳闸,却看见笔记本屏幕上的蓝光变成诡异的青灰色——那是他从未见过的蓝屏代码。键盘输入任何指令都没有反应,硬盘指示灯疯狂闪烁,像是有什么东西在内部横冲直撞。
“系统分区正在格式化。”弹窗的宋体字刺得眼睛生疼。俞曜暻扑过去拔电源,却被静电电得缩回手。他想起去年宋谨燃教他的紧急修复命令,颤抖着按下组合键,却发现所有快捷键都已失效。当“B队参赛代码V3.0”的文件夹变成红色叉号时,他听见自己喉咙里发出类似幼兽受伤的呜咽。
暴雨声中传来急促的脚步声。宋谨燃举着伞冲进机房,雨水顺着伞骨滴在地上,形成深色的水洼:“陈墨说你没拿伞......”话音戛然而止,他看着屏幕上的蓝屏代码,瞳孔骤缩。俞曜暻转过身,两人在昏暗的应急灯下对视,宋谨燃这才发现对方眼底的血丝,以及紧攥着U盘的指节泛白。
“怎么回事?”宋谨燃的声音难得有了慌乱。他伸手去碰键盘,却被俞曜暻一把推开:“别碰!”这个动作让两人都愣了神——上一次这样激烈的肢体冲突,还是那次在机器人社团,为了一个舵机的安装方向争执。此刻空气中弥漫着焦糊味,像是电路板烧毁的味道。
俞曜暻后退两步,后腰抵在服务器机柜上。U盘里的黑幕文件此刻像块烧红的烙铁,烫得他掌心发疼。他看见宋谨燃蹲下身开始检查线路,卷到肘部的衬衫露出小臂内侧的烫伤疤痕——那是高中时两人做化学实验,他打翻酒精灯留下的。记忆中宋谨燃当时没喊疼,只是笑着说:“以后我们写代码,可不能有这种低级错误。”
“主板被植入了蠕虫病毒。”宋谨燃的声音打断回忆,他举起从主机后面拔出的网线,水晶头处有明显的撬痕,“从内网入侵,专门针对你们的硬件代码。”俞曜暻注意到他说“你们”时的停顿,像是刻意划清界限。窗外惊雷炸响,照亮宋谨燃眉间的川字纹,那是他思考时的习惯动作。
“备份呢?”宋谨燃突然抓住俞曜暻的手腕,“你们昨天不是说做了异地备份?”这个问题让俞曜暻浑身发冷——昨天凌晨,他为了处理父亲的住院手续,取消了原定的备份计划。此刻机房的挂钟指向三点十七分,距离省赛提交代码截止时间,只剩四十五小时。
四、记忆碎片:十年前的齿轮
俞曜暻站在医院走廊,消毒水的气味让他想起三年前那个暴雨夜。父亲被抬上救护车时,手里还攥着工厂的设计图,图纸边角被雨水泡得发皱,上面画着未完成的智能机床控制系统——那本该是参加全国工业设计大赛的作品。
口袋里的U盘硌着大腿——他终究没勇气告诉宋谨燃邮件的事,此刻U盘里除了黑幕文件,又多了份凌晨三点手写的代码重构计划。
俞曜暻想起上学期,宋谨燃带他去参加编程比赛,两人在候机厅用笔记本写贪吃蛇游戏。“以后我们要做自己的操作系统。”宋谨燃当时咬着巧克力棒,屏幕蓝光映得眼睛发亮,“就叫‘A’,让所有漏洞都无所遁形。”
手机震动打断回忆。是B队队员发来的消息:“学长,机房的监控录像调出来了!昨晚十点有个穿灰衣服的人进过服务器区......”照片里的人影戴着兜帽,背包带子上挂着个银色挂件。俞曜暻放大图片,心脏猛地漏跳一拍——那是星际争霸的挂件,和宋谨燃钥匙串上的那个一模一样。
走廊尽头的消防栓镜面映出人影。俞曜暻转身时,看见宋谨燃站在电梯口,手里拎着个黑色公文包。两人隔着长长的走廊对视,宋谨燃抬手示意,公文包拉链拉开一角,露出里面的硬盘盒——那是A队的核心代码备份。
“去我实验室。”宋谨燃的声音从手机听筒传来,带着不容置疑的坚定,“我让陈墨把硬件组调过来,你们重构交互层,我们负责算法兼容。”俞曜暻看着ICU里插着管子的父亲,又想起匿名邮件里的银行流水。当宋谨燃伸手替他拂去肩头的雨珠时,他闻到对方身上淡淡的雪松香水味,和记忆中宋氏集团会议室的味道一模一样。
“为什么帮我?”俞曜暻听见自己的声音沙哑得可怕。宋谨燃愣了愣,指节敲了敲他胸前的工作证:“因为你是俞曜暻,是那个能把Dijkstra算法优化到O(log n)的人。是我心里特别的人”这话让俞曜暻喉间发紧,他忽然想起论坛上那个匿名提问者,每次都会在他解答后说“受教了,曜暻”——原来一直是宋谨燃。
电梯门开的瞬间,宋谨燃的手机响起。他接起电话的瞬间,脸色骤然变了:“你说什么?A队的代码......也被删了?”俞曜暻看着他攥紧手机的手,突然注意到他无名指根有块淡色的茧——那是长期握数位板留下的痕迹,而昨天在机房,那个穿灰衣服的人,用的正是左手操作鼠标。
雨还在下。两人走进实验室时,陈墨正对着黑屏的电脑发呆。宋谨燃打开公文包,里面除了硬盘盒,还有份文件袋,封口处印着“宋氏集团机密”的字样。俞曜暻盯着那行字,手指无意识地摩挲着口袋里的U盘,听见自己心跳如擂鼓。而窗外的惊雷中,某个看不见的齿轮,正在黑暗里悄然转动......