1 初遇:图书馆里的代码与秘密九月的阳光斜斜切过图书馆三楼的玻璃窗,
在李笑笑的 MacBook 键盘上投下菱形光斑。她指尖悬在触控板上,
界面停留在一行闪烁的报错提示 —— 那个困扰了她整个上午的 C++ 内存泄漏问题,
像团纠缠的耳机线,藏在数百行代码的褶皱里。木质长桌散发出旧书与松节油混合的气味,
窗外的蝉鸣被双层玻璃滤成模糊的背景音,只有她敲击键盘的嗒嗒声,
在寂静里敲出规律的节拍。“第 147 行的指针没有释放,” 她突然俯身靠近屏幕,
马尾辫滑落肩头,露出纤细的脖颈。右手食指在触控板上快速滑动,
左手同时按下 Ctrl+F,
:“// 2024.3.15 修正边界条件”“// 循环变量 i 作用域需限定”。
这些带着个人印记的注释风格,
是她从高中写代码时就养成的习惯 —— 总在关键节点留下类似日记的标记。
当光标停在那段动态内存分配代码时,她突然轻笑出声,
指尖在 Delete 键上利落一按,报错提示框像被戳破的气泡般消失了。
“砰 ——”沉闷的撞击声突然炸响在身后。李笑笑惊得回头,
只见一摞厚重的专业书在地板上散开,
《机械设计基础》《自动控制原理》的封面在阳光下泛着冷白的光。
一个穿着白衬衫的男生正蹲下身捡书,袖口卷到手肘,露出小臂上淡青色的血管。
她注意到他右手食指缠着创可贴,而靠近时,
一股淡淡的机油味混着皂角香飘了过来 —— 像是刚从实验室出来,
还没来得及洗掉指尖的金属气息。“对不起,” 男生把最后一本书摞好,抬头时,
阳光恰好落在他睫毛上,投下一小片阴影。他手里还捏着本深蓝色封面的书,
正是刚才从最高处滑落的《算法导论》。李笑笑认出那是自己上周从图书馆借来的,
一直夹在借阅架最内侧。“没、没事。” 她突然觉得耳尖发烫,
刚才改代码时的冷静荡然无存,连声音都比平时高了半个调。
视线不受控制地落在男生衬衫第二颗解开的纽扣上,那里别着枚银色校徽,
“计算机学院” 几个字在光线下反光。男生把书递过来时,一张泛黄的纸片从书页间飘落。
他眼疾手快地接住,看清上面的内容时,眉头微不可察地动了动。“高中校刊的剪报?
” 他把纸片和书一起递给她,指尖不经意擦过她的手背,“编程专栏,挺少见的。
”李笑笑接过剪报的瞬间,呼吸猛地顿住。
那是三年前市重点高中校刊的 “二进制森林” 砖栏,边角已经卷翘,
油墨字迹却依然清晰。而在专栏右下角的代码示例里,
一行注释赫然映入眼帘:“// 用蝴蝶算法优化路径,
像给数据插上翅膀~”—— 那个波浪线加蝴蝶符号的标记,
是她高中写代码时独有的签名式注释!当年她匿名投稿,从未告诉任何人这个小秘密。
男生已经抱着书转身离开,白衬衫的背影消失在书架转角。李笑笑捏着那张剪报,
指腹反复摩挲着那个蝴蝶符号。阳光依旧在键盘上跳跃,但她突然觉得,
这个开学日的图书馆里,有什么被遗忘的齿轮,正随着书页翻动的声音,悄悄开始转动。
"蝴蝶算法注释"与男主袖口的机油味形成微妙呼应——前者暗示女主高中时期的编程身份,
后者则隐晦指向男主可能的工科背景如机械工程或自动化专业,
为两人后续的技术领域交集埋下线索。这种"代码符号+感官细节"的组合,
让初遇场景在浪漫氛围中暗藏逻辑关联。
2 集训:代码世界的并肩与守护集训室的日光灯管嗡嗡作响时,
林溪的算法方案刚投影在幕布上。后排突然传来一声嗤笑:“这逻辑漏洞比女生心思还绕,
确定能跑通?” 说话的是计算机系的张远,去年区域赛银奖得主,此刻正转着笔,
眼神扫过林溪的代码像在挑刺。周围瞬间安静。林溪没抬头,
指尖在键盘上敲出几行指令:“既然觉得绕,不如看实时调试。” 她调出断点调试界面,
红色箭头停在张远质疑的循环嵌套处,“这里用贪心策略优化了内存占用,
时间复杂度从 O (n²) 降到 O (n log n),刚才你说的‘漏洞’,
其实是动态规划的状态转移方程。” 随着回车键落下,
屏幕上跳出绿色的 “测试通过” 提示,运行时间比标准案例快了 0.3 秒。
张远转笔的手顿在半空,最后悻悻地转回头。那天傍晚,
林溪发现集训队多了个 “编外人员”。沈括抱着笔记本坐在角落,
胸牌上写着 “机械结构优化支持”。他是隔壁自动化系的大神,
据说建模竞赛拿奖拿到手软。“你的笔记本散热模块老化了。” 他突然开口,
指了指林溪发烫的电脑底座,“CPU 降频导致编译慢,我带了硅脂。
” 林溪这才注意到,自己的代码编译速度确实比别人慢半拍。真正的变化发生在一周后。
林溪收到个匿名微信好友申请,备注是 “代码互助”。通过后被拉进群,
群名叫 “01 女团”,成员全是计算机系的女生。当晚,
群文件里就多了份《动态规划经典题型分类》,标注着 “亲测区域赛高频”;凌晨两点,
有人发了条 “模拟赛第三题卡壳了”,立刻有三个头像弹出解题思路。林溪后来才知道,
这个群是沈括找系里女生骨干建的 —— 他借口 “需要多组数据测试硬件兼容性”,
把历年竞赛题库整理好发了进来。某个深夜,林溪对着屏幕上的红色报错揉太阳穴,
键盘缝隙里还卡着半块饼干渣。集训室只剩她一人,窗外的月光把键盘照得发亮。
第二天清晨,她发现鼠标垫换成了新的,黑色绒面下藏着加热垫,线从桌底牵到插座,
旁边压着张纸条:“代码需要冷静指散热,你需要温度指别冻手。” 字迹清隽,
末尾画了个歪歪扭扭的笑脸。初赛结果公示那天,公告栏前挤满了人。
林溪的名字在通过名单里排第 12 位,红色墨水笔写的 “晋级” 格外醒目。
她正愣神,肩膀被轻轻碰了下。沈括站在斜后方,手里拿着瓶冰咖啡,
对着公告栏扬了扬下巴,然后抬手比了个 “OK” 手势。阳光穿过走廊,
把他的影子和她的影子,在公告栏前叠成了小小的、连在一起的形状。
3 高光时刻当张远嘲讽“女生心思般的漏洞”时,林溪没有辩解,
而是直接调出调试界面:“动态规划的状态转移不是漏洞,是你没看懂的优化。
” 代码运行成功的瞬间,集训室响起零星掌声——这是属于程序员的,最直接的认可。
互助群成了林溪的秘密武器。群里的 “夜猫子组” 会在凌晨三点分享最新的算法论文,
“错题本小组” 把每个人踩过的坑整理成表格,
甚至有人开发了自动生成测试数据的小程序。林溪突然发现,当代码不再是孤军奋战,
连 debug 都变得没那么难熬了。而那个带加热垫的鼠标垫,
后来成了她的固定装备 —— 冬天暖手,夏天当腕托,
纸条被她夹在《算法导论》的第 237 页,那是讲动态规划的章节。
4 线索:旧校刊里的 “龙” 与约定推开男生宿舍门时,
夏末的风正卷着梧桐叶擦过窗台。
林溪抱着社团纳新表的手指微微收紧 —— 沈亦舟说临时有课,
让她来取编程社的备案材料,此刻书桌上散落的代码手稿还带着余温,
让她莫名想起高中时总在深夜亮着的电脑屏幕。书架顶层的积灰在阳光里浮沉,
那本深蓝色封面的校刊合订本突兀地立着,边角泛黄得像被反复摩挲过。她踮脚取下时,
纸张发出脆响,扉页 “明德中学 2022 届” 的烫金字样突然刺得眼眶发酸。
指尖划过目录,“编程专栏” 四个字让呼吸漏了半拍,