我与 D 盘

· · 休闲·娱乐

:::info[叠甲]{open} 本文事件、人物、时间全部为虚构,不影射关于我和我的同学的任何事件。

本文绝大部分由我完成,仅使用 GenAI 修复了少数有语病或不通顺内容。

一

我在好几篇日记中都提到过学校机房角落里的那台电脑,实际就是 08 号机。许多年前学校的信息化建设还没有那么完善,机房冷落得如同一间废弃的仓库,很少被主课老师们记起。

机房离我的教室很近。或者说,信竞这条路离我的命运很近。总之,只好认为这是缘分。这台电脑在我来到这里之前不知被多少人敲击过了,而自从我初三那年懵懵懂懂地签了竞赛协议,就一直坐在这台机器的屏幕前——三年间换过几次座位,可换来换去总是换回这角落里。我常觉得这中间有着宿命的味道:仿佛这台机器就是为了等我,而历尽沧桑在那儿等待了无数个日夜。

学校的电脑 C 盘都有还原卡,每次重启,一切都会荡然无存。不论你下载了怎样先进的 IDE,写了多么惊艳的代码,只要电源一断,C 盘就会回到那种苍白、空洞的初始状态,就像这个世界总是试图抹除个体挣扎的痕迹。只有 D 盘里的东西能留下来。

它等待我敲下第一行 Hello World,然后又等待我在最狂妄的年龄上忽地被 NOIP 的榜单击碎了骄傲。不知多少年里,D 盘一面覆盖了上一届留下的那些命名浮夸的文件夹,抹去了 Dev-C++ 过时的图标,堆积起一段段残缺的代码又零落了未完成的项目,各个目录下的 .cpp 和 .exe 文件愈见苍幽,到处的 test、新建文件夹 (2) 也都茂盛得自在坦荡。起初,我一直没有在意这个杂乱的 D 盘。这时候想必我是该来了。三年前的一个下午,我拖着疲惫的身躯坐回 08 号机前,它为一个失魂落魄的人把一切都准备好了。那时,机箱风扇循着亘古不变的频率正越转越响,屏幕的荧光在昏暗的机房里越来越刺眼。在满屏密密麻麻的报错信息中,一个人更容易看到时间,并看见自己的身影。

除去几个损坏的文件我无法打开,除去 Program Files 里的那些软件我没有管理员权限而只能张望它,08 号机的每一个文件夹我都点进去过,差不多它的每一层目录都有过我鼠标的点击。我一连几小时专心致志地盯着屏幕上刺眼的 WA 想关于退役的事,也以同样的耐心和方式想过我为什么要来搞信竞。最后事情终于弄明白了:一个人,选择了竞赛,就已经默认了它有终点;退役既然像死亡一样必然降临,就不必急于求成,退役是一个必然会降临的节日。

剩下的就是怎样 AC 的问题了,这却不是在某一个瞬间就能完全想透的。所以,三年了,我还是总得到那 D 盘里去,去它的旧文件夹下或废弃的模板边,去默坐,去呆想,去推开耳边机房的嘈杂理一理纷乱的思绪。这 D 盘的形体被不能理解它的人肆意雕琢,幸好有些东西是任谁也不能改变它的。譬如深夜刷题时,屏幕幽幽亮起的一刻,每一行报错都被映照得清清楚楚;譬如在距离比赛最近的落寞时间,一群初中生便进来喧闹,把机房都叫喊得苍凉;譬如 D 盘深处历届学长留下的那些名为“勿删”、“回忆”的压缩包,总让人猜想他们是谁,曾在这儿做过些什么,然后又都到哪儿去了。

二

我才想到,当年我总是独自在这 D 盘里翻找,曾经给带我的学长出了一个怎样的难题。

他不是那种光会压力学弟而不懂得理解学弟的学长。他知道我心里的苦闷,知道我已经被一道动态规划题卡了三天三夜,再硬撑下去只会更糟,但他又担心我一个人盯着那杂乱的 D 盘整天都在想些什么。我那时脾气坏到极点,经常是发了疯一样地清空回收站,从模拟赛的榜单前回来又中了魔似的什么话都不说。学长知道有些题不宜讲得太透,便犹犹豫豫地想点拨而终于没有开口。他知道得给我一点独处的时间,去熬过这段瓶颈期。

有一回我受不了连续的 TLE,摔了鼠标冲出机房;想起忘了拔 U 盘又返身回来,看见学长仍站在我座位旁,望着我未关掉的编译器,对我的回来竟一时没有反应。待他再次看我坐下的时候,他说:“去看看 D 盘里那个叫 Old_Days 的文件夹,看看以前的代码,我说这挺好。”许多年以后我才渐渐听出,学长这话实际上是自我安慰,是暗自的祷告。

在学长因为省选失利而突然退役之后,我才有余暇设想。他有一个刚到高一突然濒临崩溃的学弟;他想,只要学弟能挺过去,自己这届的遗憾也就算有了交代,可他又确信一个人不能仅仅是做题,学弟得有一条路走向自己的未来。

曾有过好多回,我对着这 D 盘里的旧代码发愣发得太久了,学长就来找我。他只要见我还好好地在敲着键盘,就悄悄转身回去。有一回我打开了一个很深的隐藏目录,我看见里面全是他当年留下的、写满注释但最终没有在考场上用出来的模板。我不知道他当年在这些模板上写了多久,更不知道他离开前还有多少不甘没有写出来;我不知道为什么我决意不告诉他我看到了这些——但这绝不是男孩子的捉迷藏,这也许是出于长大了的信竞生的倔强或羞涩?但我真想告诫所有刚入门的学弟,千万不要跟前辈来这套倔强,我已经懂了可我已经来不及了,学长已经带着他的遗憾回去准备高考了。

有一年,十月的秋风又翻动起窗外的落叶,NOIP 又要来了。我翻着 D 盘里积攒的旧板子复习,看见两个新来的高一学弟说:“没想到这电脑里存了这么多东西。”我停下手,想,这么大一个 D 盘,要在其中找到出路,学长曾经替我蹚过多少雷,又陪我熬过多少个没有结果的夜晚。多年来我头一次意识到,这 D 盘中不单处处都有过我的光标,有过我光标的地方也都有过他的光标。

三

如果以一天中的时间来对应信竞的四季,当然初学是早晨,省选前是中午,退役后是黄昏,回归文化课是夜晚。要是以这机房里的声响来对应四季呢?那么,春天是新换上的机械键盘清脆的敲击声,夏天是冗长的散热风扇轰鸣和窗外蝉歌的交响,秋天是模拟赛后长长的叹息,冬天是机房里只剩寥寥数人时,随进而空旷的鼠标点击声。

以机房的景物对应四季,春天是一页时而飘红时而全绿的洛谷提交记录;夏天是一张张耀眼而灼人的排行榜,桌下有随手扔掉的草稿纸,桌上有半张被揉皱的成绩单;秋天是 D 盘根目录下被遗忘的一个很大的压缩包,解压开来全是乱码,里面的注释已不清晰;冬天,是空荡荡的机房里几个头发蓬松的老 OIer。

因为这 D 盘,我常感恩于自己的命运。

我甚至就能清楚地看见,一旦有一天我不得不长久地离开它(而那一天终将到来),我会怎样想念它,我会怎样想念它并且梦见它,我会怎样因为不敢想念它而梦也梦不到它。

四

让我想想,三年中坚持到这机房里来的人都是谁呢?好像只剩了我一个人。

三年前,这里曾经非常热闹。曾有过一个热爱玩音游的小伙子,他也是每天都到这机房来,来敲键盘,敲了好久,后来不见了。他多半是早晨来,趁老师不在打半小时的 Phigros,估计在另外的时间里他还得恶补数学。他的手速不算精到,在关键的谱面上常出差错,但他的节奏感是相当不坏的。日子久了,我感到我们都有结识的愿望,但似乎都不知如何开口。终于有一天,我们互相点了一下头。他说:“退役啦?”我说:“是,你呢?”他说:“我也该回去了。”我们都放慢了收拾书包的动作,但仍然是不知从何说起。那以后,机房再没了那清脆的连击声,我才想到,那天他或许是有意与我道别的,也许他回去专心备战高考了吧?真希望他如他打的谱面那样,交了好运气。

还有一个狂热的刷题汉子,那岁月机房里人少,题却多,他在各大题库里随机跳题,随机出一道题,思路戗在边界条件和恶心的 corner case 里,他便深陷其中不能自拔。他单等一种过去很多而现非常罕见的神仙题,出来其它的水题他就把它们随手 AC 掉,他说已经有好多年没碰到那种能让他熬夜的题了,结果他又等了好多年,直到高三。

这些人都不到机房里来了,机房里差不多完全换了一批新人。旧时光留下的,就剩我和那满目疮痍的 D 盘了。

五

我也没有忘记一个孩子——一个极具天赋却不幸的小姑娘。三年前的那个下午,我第一次坐到 08 号机前就看见了她,那时她大约初二,蹲在 C++ 的图形库里写着一个个精致的“小游戏”。贪吃蛇先是绿色的,继尔转白,再变黄,满屏跑动得自在。小姑娘跟自己说着话,一边调着颜色;她的逻辑很好,不是她那个年龄所常有的那般稚嫩,而是很严密甚或是精妙。我奇怪这么小的孩子怎么跑来搞这种吃力不讨好的东西?

之后有很多年没见到她。我想她必是告别了孩提时代的纯粹,被卷入了枯燥的算法洪流中,没有很多机会来这儿“玩”了。

直到有一天我又在机房见到她,时隔多年,我竟发现那个灵动的小姑娘被沉重的 OI 压得近乎木然。那是个省选前的上午。我正为一道防线题的线段树所苦,想依靠着机房的镇静,看看是否应该把这题放弃。我刚刚把屏幕切过去,就见前面不远处有几个高年级的学生在戏耍她,嘲笑她连图论题都写不出来,又喊又笑地追逐她拦截她,她在几排机位间惊惶地东跑西躲,却不松手揪在怀里的初心。我看出她的灵气已经被繁重的模板消磨殆尽。最终,她的代码崩溃了,无数个精巧的想法洒落了一地。她呆呆地望着屏幕上大片的 Runtime Error,望着极目之处的空寂,凭她的倔强绝不可能把这残酷的竞赛体制想明白吧?

谁又能把这世界想个明白呢?世上的很多事是不堪说的。你可以抱怨上帝何以要降诸多苦难给这人间,你也可以为消灭种种 BUG 而奋斗,并为此享有崇高与骄傲,但只要你再多想一步你就会坠入深深的迷茫了:假如世界上没有了 WA 和 TLE,AC 还能够存在么?要是没有了那些枯燥的调试,一瞬间通过的狂喜又怎么维系自己的幸运?一个失去差别的算法世界将是一条死水,是一块没有感觉没有肥力的沙漠。

看来差别永远是要有的。看来就只好接受苦难——人类的全部剧目需要它,OI 的本身需要它。

就命运而言,休论公道。我常以为是 WA 造就了 AC。我常以为是愚氓举出了智者。我常以为是分母度化了金牌。

六

设若有一位机房之神,他一定早已注意到了,这么多年我在这机房里敲着,有时候是轻松快乐的,有时候是沉郁苦闷的,有时候优哉游哉,有时候恓惶落寞。其实总共只有三个问题交替着来骚扰我,来陪伴我。第一个是要不要退役?第二个是为什么学?第三个,我干嘛要写代码?

你说,你看穿了退役是一件无需乎着急去做的事,便决定学下去试试?是的,至少这是很关键的因素。为什么要写代码呢?为了让那个躲在机房深处敲键盘的人,有朝一日在榜单上也能有个位置,哪怕那时再去回归文化课呢也就多少说得过去了。开始的时候就是这样想,这不用保密,这些已经不用保密了。

后来你拿了一点省奖,可这时你越来越感到恐慌。我忽然觉得自己活得像个人质,被一个什么升学的阴谋抓了来当人质,不定哪次考试失利就被处决,不定哪天就完蛋。你担心要不了多久你就会思维枯竭,那样你就又完了。我为保送而活下来,要是写代码到底不是我应该干的事,我想我再活下去是不是太冒傻气了?

后来你明白了,活着不是为了写代码,而写代码是为了活着。那天你又说你不如退役了罢,你的一个学长劝你:你不能退,你还得敲呢,还有好多美妙的算法等着你去实现呢。这时候你忽然明白了,你说:只是因为我还想在 OI 上活下去,我才不得不敲击。人真正的名字叫:欲望。OIer 真正的名字叫:不甘。

我在这屏幕前坐着,我听见机房之神告诉我,每一个有激情的 OIer 都难免是一个人质。每一个在排行榜前会心一笑的旧人,都巧妙地粉碎了一场阴谋。我在这机房里坐着,机房之神成年累月地对我说:孩子,这不是别的,这是你的罪孽和福祉。

七

如今我点开 D 盘里的文件夹慢慢看,常常有一种感觉,觉得我一个人从文化课那条规矩的轨道上跑出来已经玩得太久太久了。有一天我整理旧的文件,一张三年前我在这机器上存下的截图——那个年轻人看着屏幕上第一道通过的题,背后是一片空白的 D 盘。我便到目录下去找那个 .cpp。我按着截图上的路径找很快就找到了它。但是它已经不能运行了,后来者反复修改的痕迹和层层叠叠的报错信息让它面目全非。

我忽然觉得,我一个人跑到这竞赛的世界上来真是玩得太久了。有一天夜晚,我独自坐在机房的荧光灯下发呆,忽然从那成排黑着屏的机位深处,传出一阵阵虚幻的键盘敲击的回音;四周都是冰冷陈旧的主机,这机房空旷坦荡,独对窗外夜色。我看不见那个敲键盘的人,唯风扇与键盘的回响在空荡荡的机房里低吟高唱,时而悲怆时而欢快,回旋飘转亘古不散。

必有一天,我会听见喊我回去,回到那个没有 OI、只有高考卷子的现实里去。

那时您可以想象一个孩子,他玩累了可他还没玩够呢。心里好些新奇的念头甚至等不及到明天。也可以想象是一个老人,无可置疑地走向他的安息地,走得任劳任怨。还可以想象一对热恋中的情人,互相一次次说“我一刻也不想离开你”,又互相一次次说“时间已经不早了”。时间不早了可我一刻也不想离开你,一刻也不想离开你可时间毕竟是不早了。

我说不好我想不想回去。我说不好是想还是不想,还是无所谓。我来的时候是个孩子,他有那么多孩子气的新奇念头所以才哭着喊着闹着要来竞赛;他一来一见到这个只有 0 和 1 的世界便立刻成了不要命的情人;而对一个情人来说,不管多么漫长的时光也是稍纵即逝,那时他便明白,每写一行代码,其实一步步都是走在退役的路上。当头文件的宏定义初次展开时,退役的号角就已吹响。

但是太阳,他每时每刻都是夕阳也都是旭日。当他熄灭着走下山去收尽苍凉残照之际,正是他在另一面燃烧着爬上山巅布散烈烈朝辉之时。今天,是我在信竞的最后一天。我将自己所有的代码打包,重命名为 2026届xxx的回忆.zip,静静地拖进 D 盘的最深处。然后沉静着走下机房的楼梯,扶着我的书包。有一天,在某一处新学期里,势必会跑上来一个欢蹦的高一孩子,抱着他的算法书,点开这个没有被还原卡洗掉的 D 盘。

当然,那不是我。

但是,那不是我吗?

宇宙以其不息的欲望将一个代码炼为永恒。这欲望有怎样一个人间的姓名,大可忽略不计。