高三开学那天,黑板上贴了一张倒计时。
不是手写的——是学校统一印的。白纸红字,顶上印着校徽,校徽下面一行粗体:"距离高考还有291天。"再下面是日历格子,一格一天,从291格排到0格。每天撕掉一格,纸格撕下来的时候没有声音,轻飘飘地飘进垃圾桶里。
和初三那张不一样。初三的是王老师用粉笔手写的,每天值日生擦掉旧的写上新的,粉笔灰落一地。手写的数字有一种人在写的感觉——笔画的轻重、大小的变化,像这个人还站在那里。印出来的数字没有。291格整整齐齐排在一张纸上,每一格大小一样,像机器裁出来的,和高考本身一样冷。
有人拿笔在日历旁边写了一行:"距高考291天,距放假2天。"后面画了一个笑脸。半天之后笑脸被人擦掉了,只留了那行字。每天的日历格被人老老实实地撕——没有人忘记撕,也没有人多撕一张。
高三的日子不一样了。早上五点半闹钟响——比鸡叫还早。闹钟是大周的,他买的电子闹钟,塑料壳,按键是红的,闹铃是一段刺耳的电子音乐,轰轰轰轰地叫。铃声一响大周一巴掌拍死,翻身继续睡。要喊好几遍才醒。他醒的第一件事不是穿衣服,而是去看闹钟上的时间,然后骂一声。每天如此。
第一节七点半。中午吃饭二十分钟——食堂从半小时缩到二十分钟,因为要挤出十分钟午休。晚自习到十点。回到宿舍用凉水抹一把脸,冷水拍在脸上像被人打了一巴掌,整个人从死气里浮上来半截。有人打手电筒在被窝里看公式——大周就是。他把小电筒夹在左耳和枕头中间,铺开习题本一道一道做,灯光把被子里面照亮成一个小小的剧场。蚊帐外面伸手不见五指,他一个人在蚊帐里面亮着一盏灯,像一个在地下挖洞的人。
我也打手电,但不是看公式——是写代码草稿。
周老师让我参加信息学竞赛培训。他在办公室跟我说的时候,窗外的法国梧桐正往下掉叶子。叶子落在窗台上,黄的一层叠一层。
"你的QBASIC底子有了,但竞赛只考C和Pascal。你学C。"
我说好。
C语言和QBASIC不一样。QBASIC是一杯温水,端起来就能喝。C语言是一台发动机——有力,但你要知道哪个零件在哪、怎么拆、怎么装。C语言里有一个概念叫指针——"指向内存地址的变量"。第一次看到这个定义的时候我整个人是愣的。
周老师让我画格子。他在草稿纸上画了四排格子,每格里写上地址——1A、1B、2A、2B——然后画小箭头,从格子外面指向格子里面的地址。
"指针就是那个箭头。"他说。"你不需要知道箭头指向的格子里到底放了什么——你只需要知道箭头自己站在哪里,和它指向哪里。"
画了一整个中午。我把草稿纸上画满了格子、箭头、地址。第一张纸画满了翻过来画第二张,第二张翻过来画第三张。画到第三张的时候忽然通了——那种感觉和以前赵启明讲二次函数三步走的时候一样。不是你理解了,是你找到了路。方向对了,路就出来了。
我把那张画满格子的纸折好,塞在物理课本中间。下午上课的时候偷偷拿出来又看了一遍。箭头从格子外面指向格子里面的地址,每条线都清清楚楚。
竞赛培训每周两次,周三和周六晚上。机房里只有七台电脑能用——有两台显示器坏了,屏幕花成一片绿点,一台开不了机,开机键按下去没反应。我们六个人挤在七台机器前,周老师站在最后面讲。他讲得快,不带讲义,代码从脑子里直接敲到黑屏上。白字一行行跳出来,像在黑板上写粉笔字。敲到一半他不用看键盘,手指在键位上跳舞,和赵启明当年写数学步骤一样——不用停顿,不用回去找错。
培训结束时回来已经快十一点了。宿舍的人都睡了,呼噜声此起彼伏。我爬到上铺,拉开被子,打手电看C语言的笔记。看了一会儿,关灯,闭眼。脑子里全是格子和箭头,一条一条的线指向一个又一个地址,像城市里的路标。
赵启明的信变短了——不是疏远,是时间不够。他的成绩在地区实验稳在理科前八,已经拿到校推免资格,可以直升上海财经大学提前批次。但他自己说要考一次。
"高考是试金石,"他在一封信的末尾写,"不是为了证明比别人强——是想证明这三年是真的。"
信里只有半页纸的时候越来越多。有时一句话带过半个月的进度:"数学讲完导数了。物理在复习牛顿定律。英语买了一本新词汇。"信纸也变了——不再是那种浅黄色的文具店信封,而是从作业本上撕下来的纸,边沿毛毛的,和陈默的信纸一样。他没时间买信纸了。
短归短,他的方法没变。用动量守恒分析一节车厢碰撞的弹性模型——力和速度、碰撞前后的动量守恒——拆步骤、拆条件、一步一步推。这和初三时教我的"第一步算对称轴,第二步代入,第三步得顶点"是同一个骨架。方法对了,再复杂的题都能拆。
十一月中旬,省模拟考。
考场安排在高三教学楼二三层,每个教室三十人,单人单桌。监考老师发了答题卡,涂姓名和考号用的铅笔发了一支2B的,笔杆六棱形,削好了尖的,笔尖细得像针。我把考号一个一个涂进椭圆框里,涂完检查一遍。橡皮擦过的地方留了一层灰色的粉末,我用指腹抹掉。
考语文的时候窗外有人在施工, intermittently传来钢管敲击的声音——叮、叮、叮——节奏很稳,像一个不紧不慢的钟。考数学的时候手心出汗,笔杆握不稳,在答题卡上涂圈的时候指腹发黏。做完最后一道大题还剩十五分钟,检查了一遍又一遍,改了两个填空。交卷铃响的时候前排有人叹了一口气,很轻,像气从管子口漏出来。
总分出来那天,廖老师在教室后墙贴了成绩单。密密麻麻的名字和数字排在一起,字很小,像蚂蚁列队。人围了三层,有人伸着脖子看,有人用手指着找自己的名字。我从后面往前找——找了三遍才找到自己。
547分。全班大概第五十名,全校理科一百名出头。
廖老师把我叫到办公室。桌上摊着我的答题卡。他用红笔在547上面画了一个圈,笔尖快划破纸了——那支红笔墨水不够了,划出来的线淡得像血稀释过。
他在我的分数上方写了一个字:稳。
"稳"字写得大,笔画重。写完他把笔搁下,笔在桌上滚了半圈停住了。
"节奏没乱。"他说。"照这个速度,高考多四十分没有问题。"
多四十分是587。够不够上哈工大?他没说。我也没问。
离元旦还有两周,大周忽然从下铺翻身坐起来。他手里拿着一本习题册,封面卷了角,铅笔夹在书页中间当书签。"林之宇,你是不是还给一个叫陈默的人写信?"
"你怎么知道?"
"那天帮你寄信——信封上有名字。"他咽了口口水。"他在——在东莞?"
"嗯。做模具。"
"那能不能跟他说——他们厂里有没有产量数据的录入需求?我可以帮他写一个产量管理的程序。数据录入、统计、月报——QBASIC就能做,不复杂。"
我摇头。
"为什么?"
"他没有电脑。"
大周愣了一下。"没——没有电脑?"
"工厂的车间没有电脑。他住在八个人的宿舍里也没有。他每天手写在计件卡上,月底统计员来收卡。在陈默的世界里,程序只是一份看不懂的代码。不是他不愿意看——是生活没有给他那个空间。"
大周安静了两秒。他把习题册翻了一页,又翻回来。
"那——那我这个程序给谁用?"
"你自己用。"我说,"或者给我们班用。"
他想了一下。"抽奖程序。"
"什么?"
"帮班里写一个抽奖程序。每次运行给一个随机数,对应全班学号。抽到谁谁请客。"
我没接话。他已经在纸上画流程了:随机种子、取模、输出学号。
大周的三天之后就写出来了。那天晚自习他拉着全班人围在讲台那台旧电脑前面,屏幕上是黑底绿字,一个数字跳出来——对应班上一个学号。头几次运行总是抽到他自己的学号,他挠了挠头说是随机数种子的问题,改了种子之后终于抽到了别人。全班哄笑,他站在讲台边上咧着嘴,笑的时候脸上的肉挤在一起。
这件事让他从"胖子"变成了"周总"。不是他自己要求叫的,是别人叫他他就应了。抽到的人要去小卖部买饮料请客,每抽一次班上就热闹一回。
我把这件事记在作文本最后一页:"大周问我要不要给陈默写一个产量管理程序。我没答应。"记完之后看了一遍,又加了一句:"程序可以帮他算。但程序不能帮他开机。"
十二月最后一天,晚自习结束。我走出教学楼,冷风灌进校服领口,缩了一下脖子。
天黑了。校门口的路灯亮着,光落在地上一小圈。操场上没有人,沙坑里的沙被风吹出一道一道纹路,和去年寒假一样。
我把手插进口袋。口袋里有一张纸——今天下午新抄的C语言笔记,指针那一节。墨迹还没干透,蹭了一点在指尖上。和去年寒假在网吧抄代码时蹭在指尖上的墨迹一模一样。
我在路灯下站了一会儿。灯火落在纸上,格子、箭头、地址一行一行排着,像一小片刚翻过的田地。