最终得对抗自己

Hineven胡扯

JeremyGuo在小学时, 小学同学问了他一道信息竞赛题目, 从此一发不可收拾。YUKI本来报名参加了田径社, 但是被同学劝退, “太累了”, 然后她便跳出田径坑, 接着跳入信息竞赛——一个更大的坑——里面。ElaineZXY则是因为当时听了郑老师的”演讲”, 这位, 恩怎么说呢, 令人敬佩的老师通过在科技课上生动形象的宣传的确拉了不少人。Ender认识信息竞赛的故事最具有戏剧性。作为一个职业浪人, 没选社团课的他不乖乖上自习却在教学楼到处乱转, 鬼使神差地乱入信息教室, 然后听郑老师讲了一节课, 太有意思了!Ender决定留在编程社团。于是, 他不仅留在了这个社团, 而且一直留到最后——直到初中毕业。貌似除了我和SunIsMe当时通过’正规渠道’郑重地在社团选择一栏填上”编程社”三个字, 其他队员加入信息竞赛都各有一段故事。
编程社一开始有70多个人, 每次上社团课, 教室内人满为患, 郑老师的第一堂课是’汉诺塔’,演示一个能够自动解决汉诺塔问题的轻巧程序, 那个时候觉得好厉害啊! 郑老师教授的知识非常基础:语法, 输入输出函数, 基本运算…我能记清我在CQBZOJ(我校训练网站)上注册了自己的账号, 按照郑老师的板书一个字符一个字符慢慢敲出A+B Problem短短60b代码, 然后在2008年的古董IDE’GUIDE’上点击’运行’。程序的功能是计算两个整数的和。我能记得, 我在那个单调而粗糙黑框框内输入的第一组数字’1 1’。没有想象中紧张的等待, 白色的光标闪动了一下, 一个数字’2’立马出现!我紧接着尝试输入正数、负数、0…电脑竟然无一未给出正确答案!我又想了想办法, 在源代码’a+b’表达式内删掉’+’, 加上’-’, 继续输入正数、负数…它又能完成减法了!简直无所不能!
回想起来, 我真的像哥伦布发现新大陆一般激动万分——或者说, 从某种意义上, 我确实发现了一片新大陆。
初一社团课一周两节, 一个名为SunIsMe的人当上了社长, 课上时间短暂, 和蔼可亲令人尊敬的郑老师讲课水平也确实不敢恭维。但是她教会了我们如何高效地调教度娘以及使用’Chongqing 八中 Online Judge’(以下简称CQBZOJ)——我们学校自行开设的编程练习网站。大家只需要把代码提交到网站上, 网站就能对代码进行评判, 并将做题记录计入账户档案。于是每周末, 我总是得花费几个小时待在电脑旁, 写代码, 提交代码, 开心地等待一个美妙的’Accept’。如同硬币一枚枚投入存钱罐, 账户‘C20160307’的’已解决问题’数量慢慢从零变成十, 在变成二十…
然后, 这个数字暂时停在了二十四, 因为初一下期期末考试来了。

初二, 社团教室好像不再那么拥挤——有一半多学生选择离开社团, 教室里还剩下三十多人。郑老师开始讲一点基本算法——当然也只有那么一点。中午我们被允许留在机房自行学习——但很多时候我们得翻窗子才能开电脑房门。于是大家继续在CQBZOJ上做水题, 仰慕那些做题数量600+的大神, 整中午整中午地编写命令行小游戏’走迷宫’——我的第一份长度达到2kb的代码, 后来还拿到科技节上展览。一天中午, 我通过对自己一份代码进行重重优化, 成功拿到这道题目在CQBZOJ上运行速度的第一名:我的程序处理所有数据只需要1毫秒!那是我第一次运行速度排到第一名, 乐不可支, 坐在我旁边的一位男同学好像也在优化那题目的代码, 他的运行时间是2毫秒——比我慢了一毫秒, 他说怎么都优化不下来了。是时候由本题运行速度Rank 1装一波逼了, 我在他的代码的几个函数开头加上’inline’标记, 他提交了代码。不料他的代码运行速度提升到了0毫秒, 成功地把我挤了下来。他兴奋地叫到:”哇塞!这是什么技巧, 这么厉害!竟然拿到第一名了!”, 我静静站在他的身后, 面若死灰。后来, 我结实了这位略显瘦削的男同学, 他叫Ender。

初二下期, 我们参加了第一次NOIP(National Olympics in Informatics in Provinces.), 实力太弱, 600分满分只拿了130分, 社长SunIsMe和Ender都拿到了230分。YUKI——一位女选手, 一分都没拿到, 八中本部初二好像有一位叫’JeremyGuo’的大神拿了405分。同届竟然有那么强的选手, 深感无力。暗暗下定决心要好好学习信息竞赛, CQBZOJ上用户’C20160307’的’解决题目数量’从27断断续续上升到了69, 但是随着题目难度的增加, CQBZOJ上出现的’Accept’越来越稀少, 橙红色的’Wrong Answer’却总是整片整片占据着屏幕。
我不想承认自己对编程的兴趣越来越稀疏. 机房也好像越来越空旷。
初三上期, SunIsMe竟然已经做了120多题!他的CQBZOJ排名已经升入了前100。到那个时候, 我才知道如果NOIP拿到一等奖可以得到CQBZ高中部优惠政策。NOIP一天天临近, 于是每个星期六, 编程社的十来人——准确地说, 只剩下16个人——准时聚集在八中本部的机房内听本部何老师讲课, 期间认识了Tsy(此时她已经在CQBZOJ上做了700道题目, 位居榜首)等高二学长。何老师讲课内容非常丰富, 期间学到不少新算法, 但也更加难以理解。代码难度节节攀升, 动辄上百行——曾几何时, 科技节上一百行的低质量代码还是我最大的骄傲。我能记得, 训练时, Ender的代码运行速度总是最快的, 中午短暂休息时在机房和ElaineZXY等人一起玩三国杀。由于寒假竟然还得上课, 不知不觉, 信息竞赛又退出了5、6人。账号‘C20160307’的做题数量也蹭蹭上涨, 在初三上期期末达到了200道。
初三下期开学, 像往常一样, 我中午来到机房。没有昔日的喧闹拥挤, 偌大机房内, 坚持下来的, 只有8个人。NOIP迫在眉睫, 除了中午翻窗户到机房做题以外, 周六还得继续在本部上一天竞赛课。回到家后, 也不再像初一一样在打开电脑后会自行登陆OJ刷题了。
不知不觉, NOIP成绩已经定音, 竞争残酷, 最后, 偌大机房内只剩下寥寥数人, JeremyGuo, Ender, SunIsMe, YUKI和我, 五个人。升入高中, 又来了不少人, ElaineZXY再次加入信息竞赛, 机房再次热闹起来。
但是NOIP之后, 一切戛然而止, 机房内依然只剩下五个人, 初中坚持到最后的五个人。
夜深了。
当我十指齐飞, 在键盘上娴熟地敲下一串串单词时, 我不禁回想起曾经第一次生疏地一个键一个键写下的’A+B Problem’代码, 以及内心中的兴奋与激动。
往事如烟。
’C20160307’账目上记载的’Accept’次数停在700道已经有一段时间了。我们已经很少访问CQBZOJ, 而在其他难度更高的网站上进行训练。现在, 当我将同一份长达三百行的代码修改了数十次, 屏幕上充斥着一排排暗红色的’Wrong Answer’后, 那个清新的绿色’Accept’是否还能让疲惫地我为之一振?
我不想承认信息竞赛, 我所热爱的信息竞赛, 已经成为我最沉重的负担。
曾经的日子令人疲倦, 将来的日子也将更加辛苦。
于是我们终究得走上那座独木桥。越站越高时路却越来越窄, 但脚下越来越窄的同时我们将越走越高, 不是么?

– Hineven

2018.1.4 Ender拿到PKU的一本线了!

评论列表

  1. Pingback: 别了,OI « Hineven

Join the discussion

Your email address will not be published. Required fields are marked *