(一)现在
学校的机房的格局,是和别处不同的:都是一排排的电脑,电脑里面装了矿机,可以随时挖矿。刷题的人,早上下午上了课,每每花十几分钟,刷一道题,——这是一年前的事,现在每道题要花上半个小时,——坐在座位上,冷冷的吹着空调;倘若肯多花十几分钟,便可以发个讨论,或者题解,当作总结了,如果花到二十几分钟,那就能发一篇优秀的题解,但这些学生,多是新高二,大抵没有这么多时间。只有新高一的,才踱进隔壁的机房里,听歌聊天,慢慢的刷题。
(二)一年前
我从初三毕业,便在学校的机房里学竞赛,老实说,我太傻,怕是学不了多久,刷题排名都在二十名开外。旁边的竞赛学生,虽然不怎么说话,但刷题轰轰烈烈抄题解的也不少。他们往往要从网上到处收集题解,看过正确没有,又亲自测一遍样例数据然后放心:在这种恶性竞争之下,排名靠前很难。所以放假回去了之后,别人说我干不了这事。幸亏我当时很努力,努力刷题,便冲进了刷题前几名。
(三)当年暑假
我当时整天呆在家里,专搞我的竞赛。虽然一天比一天刷的题多,但总觉得有些单调,有些无聊。数组总是难以维护,字符串也难以操作正确,教人活泼不得;只有晚上做做数学竞赛,才可以活跃一下,所以至今还记得。
说明:为了与《孔乙己》格式相似,不得不添加一些虚构的人物
(四)孔乙己
孔乙己是做题排名前十而考试倒数的唯一的人。他中等身材,棕黄脸色,时常戴着一副眼镜;乱蓬蓬的头发。刷的虽然是水题,可是他常常发布题解,似乎自己很聪明,也很厉害。他对人说话,总是满口数据结构,叫人半懂不懂的。因为姓孔,别人边从描红纸上的“上大人孔乙己”这半懂不懂的话里,替他取下一个绰号,叫做孔乙己。孔乙己一到机房,所有做题的人都看着他笑,有的叫道:“孔乙己,你考试又爆零了!”他不回答,默默的说,“刷两道训练题,一道作业题。”便打开了电脑。他们又故意高声嚷道:“你一定又去网上抄题解了!”孔乙己睁大眼睛说,“你怎么凭空污人家清白……”“什么清白?我前天亲眼见你抄了题解,freopen都没改。”孔乙己便涨红了脸,额上青筋条条绽出,争辩道:“窃代码不能算抄……窃代码!……oier的事,能算抄么?”接下来便是难懂的话,什么“模拟退火”,什么“反演”之类,引得众人都哄笑起来:机房里充满了快活的空气。
(五)背景
听人家背地里谈论,孔乙己原来也学过竞赛,但最终没有三等奖,又不会骗分;于是几次愈来愈差,弄到“铺地毯”①都不会了。幸而抄得一手好代码,便靠抄代码AC。可惜他又有一样坏脾气,便是好吃懒做。抄代码连样例都不测试,用不了今天,就被作弊系统发现,马上棕名。如是几次,系统就把他账号永久封禁了。孔乙己没有法,便注册了我们学校的OJ,偶尔参加几次考试。但他在我们机房里,品行却比别人都好,就是从来不乱抄题解;虽然间或没有做出来,暂时抄了题解,加入任务列表,但是不到一月,定然重做,从任务列表中删去那道题。
①铺地毯:NOIP2011T1,非常简单,一道对普通选手都完全没有难度的题
(六)嘲讽
孔乙己做完一道水题,涨红的脸色渐渐复了原,旁人又问他,“孔乙己,你当真学过竞赛吗?”孔乙己看着问他的人,显出不屑置辩的神气。他们便接着说道,“你怎么半个三等奖都没有捞到呢?”孔乙己立刻显出颓唐不安的模样,脸色苍白,嘴里说些话;这回可是全是高级数据结构之类的,完全不懂了。在这时候,众人也都哄笑起来:机房内充满了快活的空气。
(七)
在这些时侯,我可以附和着笑,老师是绝不责备的。而且老师见了孔乙己,也每每这样问他,引人发笑。孔乙己知道自己不能和他们聊天,便只好向蒟蒻②说话。有一回对我说道,“你学过数据结构么?”我略略点一点头。他说,“学过数据结构,……我便考你一考。线段树的维护,怎样写的?”我想,蒟蒻一样的人,也配考我么?便回过脸去,不再理会。孔乙己等了许久,很恳切的说,“不能写吧?……我教给你,记着!这些模板应该记着,将来考省选要用。”我暗想我和省选的等级还很远呢,而且光会线段树模板也不够用:又好笑,又不耐烦,懒懒的答他道,“谁要你教,不就是递归分治维护吗?”孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说,“对呀对呀!……线段树有四样写法③,你知道么?”我愈不耐烦了,努着嘴做题。孔乙己打开了画图,准备给我演示,见我毫不热心,便叹了一口气,显出极惋惜的样子。
②蒟(jǔ)蒻(ruò):一种植物,根部可食,又名魔芋。③线段树有四样写法:线段树一般只有三种写法:数组维护,指针维护,树状数组代替线段树维护。极少人用第四种写法。孔乙己这种受竞赛毒害的oier,常回注意一些没有用的代码,而且把这看成学问和本领。
(八)
有几回,隔壁初学竞赛的初中生听得笑声,也赶热闹,围住了孔乙己。他便教他们写A+B problem。初中生学完A+B problem,眼睛都望着铺地毯。孔乙己着了慌,伸开五指将屏幕罩住,弯腰下去说,“不教了,我已经不想教了。”有直起身看一看屏幕,自己摇头说,“不教不教!宁教哉?不教也。”于是这一群初中生都在笑里走散了。
(九)
孔乙己是那样使人快活,可是没有他,别人也便这么学竞赛。
(十)离去
有一天,大约是NOIP前的两三天,老师正慢慢查看我们的做题记录,他打开孔乙己的任务列表,忽然说,“孔乙己长久没来了,还有十九个题抄了题解没有重做呢!”我也才觉得他长久没来了。一个做题的学生说道,“他怎么会来?……他被封了号。”老师说,“哦!”“他仍总是抄。这一回,是他自己发昏,竟抄到Admin的头上去了。Admin的代码是抄得的么?”“后来怎么样?”“怎么样,先发讨论认错,后来是封号,封了大半年,再删代码。”“后来呢?”“后来把他的代码删完了。”“删完了怎样?”“怎样……谁晓得?许是退竞赛了。”老师不再问。
(十一)
NOIP过后,秋风是一天凉比一天,看看将近初冬;我们整天的做题,也需穿上棉袄了。一天的下半天,没有几个人来刷题,“刷一道题。”在声音虽然极底,却很耳熟。看时又全没有人。站起来向外一望,那孔乙己便在机房门槛坐着。他脸上黑而瘦,已经不成样子;穿一件破夹袄,盘着两条腿,背上背着书包;见了我,又说道,“帮我传一道题。”老师也伸出头去,一面说,“孔乙己么?你还有十九道题没有重做呢!”孔乙己很颓唐地仰面答道,“这……下回重做吧。这一回是现做,题要水。”老师仍然像从前一样,笑着对他说,“孔乙己,你又抄题解了!”但他这回却不十分分辨,单说了一句“不要取笑!”“取笑?要不是抄题解,怎么会被封号?”孔乙己低声说,“系统错误,系统……”他的眼色,很像在恳求老师,不要再提。此时已经聚集了几个人,便和老师都笑了。我找了题,发给他的电脑,放在桌面。他慢慢写好了代码,又发给我,见他的代码全是bug,原来是抄题解东拼西凑的。不一会,CE④,他重发了一遍,便在旁人的说笑中,慢慢地走去了。
④CE:即compile error(编译错误)
(十二)
自此以后,又长久没有看见孔乙己。到了省选,老师查看做题记录说,“孔乙己还有十九个题呢!”到了NOI,又说“孔乙己还有十九个题呢!”可是到第二年NOIP没有说,再到WC⑤也没有看见他。
⑤WC:winter camp(冬令营)
(十三)
我到现在终于没有见——大约孔乙己的确退竞赛了。
二〇一八年八月