代码改变世界

不到最后一刻,绝不放弃!

2009-06-10 04:23  铁骑(PuLee)  阅读(3153)  评论(25编辑  收藏  举报
       2009年5月31日,这天晚上考单片机原理,考试结束已经是九点了,回到宿舍楼下,被几个同学拉去喝酒,庆祝又成功混过一门考试(本人热爱软件,却被分到了其他的专业,实在是身在曹营心在汉啊!)!喝酒这种事情我是从来不会错过的,一顿胡吃海喝之后,回到宿舍已接近十一点,但对我来说,夜晚才刚刚开始,因为我记得有道编程大赛是从晚上十二点正式开始的,而我准备第一时间参赛,呵呵,第一次参加编程比赛,有些激动,再加上一些酒精的催化,颇有些跃跃欲试的感觉!在网上四处晃悠到十一点半左右,登录大赛指定的topcoder平台,一进去我就愣了一下,系统提示了一语句英语(软肋,绝对的软肋)喵了一眼,大概的意思是:"你在的分组是group15",我纳了下闷,怎么比赛还没开始这房间就先分配了?带着疑惑进入了指定的分组,没想到分组下面还有四个房间rome1~rome4,随便点了rome1,进入和选题,系统提示你没有被分配在这个房间,我这才放下心来,安慰自己:应该是系统提前分配房间,但是不能开始答题,因为时间还没有到.
        从平台切出到浏览器,进入网易有道编程大赛的主页,随意浏览了下赛事日程,只感觉浑身一颤,醉意瞬间消失的无影无踪,上面醒目的写着:"初赛时间5月31日0点到6月1日0点",我条件反射般的迅速扫了下当时的时间,23:42分......oh,my god!
       我电脑的表大约快2分钟,也就是说我还有20分钟左右的时间来答题,完了,肯定来不及了,这次比赛规则是两道题(250+500),一小时完成,而我现在只剩下三分之一都不到的时间了,看来是没戏了!但是我不甘心,我总不能报了名连自己的题目都没看到就放弃吧,这不符合我一贯的风格!我要试试!
       迅速切回竞赛平台,回到刚才的分组,因为rome1但无法打开题目,所以我选择了rome2, 还是打不开!一边咒骂着网易,一边悔恨着自己的大意(难道刚才登录的时候有说我在哪个房间?英语不好害死人啊,以后要好好学英语了,要不然以后写代码还要带个翻译?反正重新登录太浪费时间了,要是再登陆不进来就更郁闷了,接着试吧),继续登录后面的rome,直到rome4的时候,我的题目终于打开了!
       此时时间已经过去了两分钟,迅速浏览了250的题目,我知道现在已经不允许我按照平时的策略先做500分的题目了,如果500分没拿下,那我的成绩就是零分了,还是保守的拿到一分算一份吧,飞快的浏览的250的题目,感觉逻辑不是很复杂,以前都是直接在竞技平台里编码的,但现在不行了,我需要一切可以节省时间的工具,启动vs,直接打开了一个以前建的控制台项目,删掉里面的代码,开始疯狂的编写......时间在一分一秒的流逝,竞赛平台还时不时的提示我:"比赛即将结束,不管你个人的做题时间还剩多少,都无效!"现在已经顾不了那么多了!终于,第一道题目编写完毕,自己先目测了一遍,然后用系统题目里的几个用例进行测试,返回正常,迅速复制出代码粘贴到平台里,直接编译提交......220+ !系统返回了我第一个题目的分数!心中的紧张稍稍的缓和了一些,至少成绩不是零分了,而且我做250分的题目,以前一般也就180~190分,这次竟然出奇的好,看来压力有时候确实可以激发人的潜力,但是前提是一定要保持冷静!这时我看表,时间是23:48.....
       没有时间自我陶醉了,马上点开第二道500分的题目,叙述相当冗长,逻辑也比第一道复杂多了,心里隐隐约约感觉要使用递归,这又击中我另一根软肋了,说来惭愧,平时用c#总是很顶层的应用,什么都用类库里现成的,web开发也是拉控件为主,这种高难度的递归方法平时用的很少很少,而且我知道如果我现在用递归,在规定的时间之前肯定是无法完成的,所以我决定采用循环,看看能某侥幸搞定!我拼命的梳理着混乱的思维,希望能在时间结束前搞定,性能是来不及考虑了,还是专心实现功能吧,题目里纷繁的类型转化,搞得我焦头烂额,一层套一层的判断,连自己也不知道我要判断的是什么了,平日里编码优良的命名方式,清晰的逻辑结构已经荡然无存!终于,我停止了手指的敲击,不是我做出了结果,而是竞赛平台比赛结束的弹出窗口把我从vs中弹了出来!霎那间,一切都释然了!
      比赛结束了,但我的编码还没结束,我重新打开500分题目的要求,仔细的阅读里面的每一行说明,每一个示例,重新寻找清晰的思路,直到完完全全看懂了题目,不禁哑然失笑......刚才竟然连题目都没有看明白!重新切回vs,删除刚才纷繁混乱的代码,重新开始,一行一行的写了下来......
      
      今天(6月9日),我打开gmail的时候,突然看到了有道编程大赛的的来信,很是奇怪:难道淘汰也要来通知一下?太残忍了吧,我好不容易快忘了......打开一看,出乎意料的是,我竟然进了复赛!unbelievable!迅速进入有道编程大赛的主页进行查询,我竟然真的通过了初赛!仔细阅读了查询页面下方的入围说明,我才知道原来这次初赛不是按照整个系统的总排名,而只是每套题目单独排名再择优录取,估计我们房间的这套题目第二题比较难,第一题我由于时间紧迫竟然飞速完成了,所以打分较高,竟然幸运的跨入了入围者的行列!
      我现在开始庆幸当时没有选择放弃,而是选择了果断的开始做题,机会是要靠自己争取的,轻易放弃的人永远也达不到目标,只要你坚持,哪怕是到了最后一刻,也有柳暗花明的机会,甚至比最初就得到机会把握的更好!
 
PS: 反思这次的经验教训:
一.做事要认真,期盼已久的比赛竟然连日期都记错了,实在是该打!
二. 无论什么时候都要冷静,第二题由于过于着急,连题目都没看明白就动手写代码,就像需求还没弄明白就开始开发项目,这绝对是程序员的大忌!
三. 不到最后一刻,绝不放弃!

我的独立博客:铁骑世界

欢迎大家访问!