周日下午,秦风揣著刚从银行取出的几千块现金,直奔电脑城。他没有丝毫閒逛的兴致,目標明確得像是在执行一个代码指令。
“老板,来一台家用的多功能一体机,要带列印、复印、扫描的。”秦风直接走到一家掛著“兄弟”牌子印表机专卖店的柜檯前。
老板是个挺著啤酒肚的中年男人,见来了个学生模样的顾客,眼皮都没抬一下,隨手指了指墙角的一台样机:“那个,惠普的,一千二,学生用足够了。”
秦风的目光扫过那台机器的型號,內心毫无波澜。这是一台2010年最常见的入门级喷墨印表机,列印速度慢,墨盒死贵,典型的“买得起马,配不起鞍”。
“不要喷墨的,”秦风的声音很平静,“我要雷射的,黑白就行,列印速度要快,要支持网络列印。再来一台高速扫描仪,a4幅面,带自动进稿。另外,要一把裁纸刀,a3的。”
老板终於从报纸后面抬起了头,重新打量起眼前这个少年。
这套配置,怎么听都不像一个学生该买的东西,倒像个小型文印店要开张。
“小兄弟,你这……是给家里单位买的?”老板试探著问。
“自己用。”秦风言简意賅,他懒得解释,直接从兜里掏出一沓红色的钞票,放在柜檯上,“算算多少钱。”
现金带来的视觉衝击力,在任何年代都一样好用。
老板的態度立刻热情起来,脸上的肥肉笑成了一朵菊花:“哎哟,小兄弟真是行家!来来来,我给你推荐我们『兄弟』这款7360,雷射一体机,皮实耐用,鼓粉分离,后期成本低到你笑!扫描仪配富士通的,快得飞起!我给你算个打包价,绝对实惠!”
半小时后,秦-大客户-风,坐著老板叫来的小货车,载著一堆崭新的“作案工具”回到了家。
面对父母惊疑不定的目光,他这次的理由更加充分:“爸,妈,我借了同学的复习资料,要复印。学校门口复印太贵了,一张五毛,我算过了,买一台机器自己印,划算。”
这个理由,逻辑上无懈可击,充满了学生时代的精打细算。秦长学和杨桂芳对视一眼,虽然觉得儿子最近花钱有点大手大脚,但一想到他那突飞猛进的学习劲头,便没再多说什么。
只要是为了学习,一切投资都值得。
“咔噠。”
房门再次反锁。
秦风將新买的机器一一拆箱,连接电脑,安装驱动。整个过程行云流水,一个35岁的程式设计师,闭著眼睛都能搞定这些。
当印表机状態灯变为稳定的绿色时,他將那枚承载著一个g乾坤的u盘,郑重地插入了电脑。
解锁。
他没有直接列印那个名为“2010-gaokao-all.pdf”的文件。
那样做太蠢了。
如果一份完整的、排版精美的高考试卷出现在一个高三学生的书桌上,那不叫复习资料,那叫罪证。
秦风展现了他作为程式设计师的严谨和偏执。
他先是花了半个小时,用软体將pdf文件里的所有题目和答案,全部提取出来,转成了纯文本格式。
然后,他写了一个简单的python脚本。
这个脚本的功能很简单:隨机打乱所有题目的顺序,並且將题目和答案彻底分离。
接著,他从网上下载了十几套不同省份、不同名校的模擬试卷,同样將它们全部文本化,扔进同一个“题库”文件夹里。
最后,他让脚本从这个混合了几千道题的巨大题库里,隨机抽取题目,重新生成一份份新的word文档。每一份文档二十页,题目类型混杂,难度不一,看起来就像是东拼西凑、毫无章法的“百题斩”。
而真正的2010年高考真题,就像是一滴水融入了大海,被完美地稀释、隱藏在了这上百页的资料之中。
至於答案,则被他用另一种字体,单独列印,夹在另一本习题册里。
“嗡……咔咔……唰……”
雷射印表机开始欢快地工作,发出低沉而高效的轰鸣。滚烫的a4纸一张张从出纸口吐出,带著新墨粉特有的、略带一丝焦糊的化学气味。
秦风面无表情地看著这一切。
裁纸刀划过,將a4纸裁成更小的活页。
他將这些真假混杂的“复习资料”,胡乱地塞进不同的文件夹,有的还故意弄出一些褶皱和卷边,看上去就像被翻阅了无数遍。
至此,准备工作全部完成。
……
周一,临江一中高三(七)班。
上午的数学课,班主任赵国强依旧在讲台上挥汗如雨,唾沫横飞。
“……关於这个数列求和,裂项相消法是我们的一个重要手段!同学们注意看,通项公式an可以拆分成两项之差……”
讲台下的学生,有的奋笔疾书,有的眼神迷茫,有的已经开始和周公进行亲切友好的会晤。
张伟用胳膊肘捅了捅秦风,压低声音,鬼鬼祟祟地问:“风哥,昨晚《非诚勿扰》看了没?那个马诺,太顶了!”
秦风的眼睛,根本没往讲台上瞟一眼。
他的桌上,堆著小山一样高的复习资料,將他整个人都快埋了进去。
他从一沓像是草稿纸的卷子里,抽出一张,上面印著一道解析几何题。
【已知椭圆c: x2/a2 y2/b2 = 1 (a>b>0)的离心率为√2/2,过右焦点f的直线l与椭圆c交於a, b两点,当l与x轴垂直时,|ab|=√2……】
这道题,正是2010年全国卷的数学压轴题。
赵国强在讲台上讲的“基础巩固”,对他来说,是无效信息。
在別人还在盲人摸象,试图通过大量练习来覆盖所有可能的考点时,秦风已经拿到了终点的精確坐標。
他现在要做的,不是从起点走向终点。
而是站在终点,倒著画出地图。
他翻开另一本夹著答案的册子,找到了这道题的最终答案和標准解题步骤。
第一步,由e=c/a=√2/2,得a2=2c2,b2=a2-c2=c2。
秦风的笔尖在纸上轻轻一点。
他的大脑开始飞速运转。
为什么是a2=2c2?因为离心率公式是e=c/a。
为什么b2=c2?因为a2, b2, c2的基本关係是a2=b2 c2。
这些,是这道题的“底层驱动”。
第二步,设f(c,0),直线l的方程为x=c。代入椭圆方程……求得|ab|=2b2/a=√2。
秦风的眉头微微皱起。
为什么是2b2/a?这是弦长公式的一个推论。他迅速在脑海中调出相关的知识点,进行印证、关联、巩固。
他完全沉浸在了自己的世界里。
外界的一切,老师的讲课声,同学的窃窃私语,窗外的蝉鸣,都变成了模糊的背景音。
他的眼前,只有题目、答案、步骤。
他在进行一场匪夷所思的“逆向工程”。
把一个已经完美运行的“程序”(標准答案),一步步地拆解、反编译,弄清楚它的每一行“代码”(解题步骤)的逻辑和原理,最终彻底掌握它的“底层算法”(核心知识点)。
这种学习方式,对於其他同学来说,是不可想像的,甚至可以说是离经叛道。
但对於一个顶级的程式设计师来说,这再正常不过。
给你一个软体,让你復刻一个。你做的第一件事,绝不是从零开始写代码,而是先把这个软体的所有功能、所有交互、所有逻辑都摸透。
先知结果,再溯过程。
效率,是指数级的。
赵国强讲完一个知识点,习惯性地巡视教室。
当他的目光扫过秦风的座位时,不由得停顿了一下。
他看到了那座小山似的资料堆,看到了秦风那几乎要埋进书本里的脑袋,看到了他紧锁眉头、奋笔疾书的专注模样。
赵国强的心里,涌起一股老父亲般的欣慰。
这孩子,是真的开窍了,是真的在拼命了!
看看这股劲头,这堆积如山的资料,这种完全屏蔽外界干扰的专注!
赵国强悄悄地走到秦风身边,想看看他到底在攻克什么难题。
他只看到秦风的草稿纸上,画著复杂的函数图像,写满了密密麻麻的推演公式,整个过程行云流水,逻辑清晰。
虽然不知道具体是哪道题,但那种解题的流畅感,骗不了人。
赵国强满意地点了点头,没有出声打扰,悄悄地走开了。
他回到讲台上,看著秦风的背影,眼神里充满了期待。
而此时的秦风,刚好完成了对这道压轴大题的最后一步反推。他放下笔,长长地舒了一口气,感觉整个知识体系都被这道题贯穿、盘活了。
他抬起头,正好对上了讲台上赵国强投来的讚许目光。
秦风愣了一下,隨即礼貌性地笑了笑。