深夜的烟雾还呛在喉咙里,我盯着屏幕上闪烁的光标,手指在油腻的键盘上发抖。这不是梦——我回到了1997年,坐在“极速网络”第三排靠窗的破旧座椅上,隔壁传来《流星花园》的盗版碟片杂音。重生第三天,我摸清了现状:父亲下岗,家里欠着房租,而我的大学录取通知书还在未来十年后的抽屉里。 但我知道一件1997年没人相信的事:三个月后,国际大学生程序设计竞赛(ICPC)的冠军队伍,会因为一个关键算法错误与冠军失之交臂。而那个算法,此刻正在我脑子里烫得发慌。 最初我只是在OICQ上加了个“编程爱好者”群,用“未来人”的ID发了个关于动态规划的优化思路。被群主骂“神经病”后,我干脆在红警对战间隙,用记事本写了段伪代码。网吧老板老陈以为我在打游戏,其实我在用WPS写递归函数。他总拍我肩膀:“小子,CS打得不错!”——他根本不知道,我屏幕最小化的窗口里,藏着能让1998年搜索引擎效率提升30%的排序模型。 转折发生在市里预赛前夜。我在网吧角落调试代码时,一个戴眼镜的男生凑过来:“你那个状态压缩……是不是漏了边界?”他叫林远,后来成了我重生后第一个朋友。我们挤在两张拼起的椅子上,用286电脑跑通第一个测试用例。网吧突然停电的深夜,我们借着手电筒的光,在餐巾纸上画满了状态转移方程。 决赛那天,老陈竟然关了网吧两台机器:“小林,给你腾地方!”烟雾弥漫的机房突然安静,只剩十六台电脑的风扇声。我握着生硬的鼠标,想起前世在硅谷看到这场比赛录像时,那个因0.1秒误差落败的中国队。现在,我的代码正在屏幕上绿色滚动。 “提交!” 裁判按下确认键的瞬间,整个机房沸腾了。老陈举着泡面碗冲过来:“你他妈真是写代码的?!”林远眼镜滑到鼻尖,我们看着大屏幕上的“Accepted”连成一片。后来记者问夺冠秘诀,我说:“网吧键盘太硬,逼我必须一次写对。”——他们当成了笑话。 领奖时,我摸着冰凉的奖杯,突然想起前世病床上刷到的新闻:那支错失冠军的队伍里,有个队员三年后开发出了国内第一个开源编译器。而现在,他正坐在台下,眼眶发红。 回网吧的公交车上,林远问:“接下来真去深圳搞软件?”车窗外,1997年的霓虹灯在雨里化开。我摸出兜里老陈硬塞的中华烟——其实我不抽烟——说:“先帮老陈把网吧装个计费系统。” 我知道有些改变已经发生:比如老陈后来成了最早一批网吧连锁老板,比如林远的研究生论文里,会出现我当年在餐巾纸上画的拓扑图。 重生不是篡改历史的权杖,而是把未来的火种,悄悄埋进1997年潮湿的土壤。而夺冠,不过是火种发芽时,恰好被晚风吹亮的一粒火星。