Archive

Posts Tagged ‘种子杯,dodo’

种子杯历届命题回顾(二)

November 3rd, 2008

   在我们开发复赛框架的时候其实也是在我们项目的进行过程中,和其他的项目组相比起来我们的确是比较轻松的,组长和主要开发人员能够用这么多时间做和项目无关的工作,这种环境给我的感觉相当的好,没有过大的项目压力,又能够每天在和dodo的交流中学到很多的东西,这种在共同的工作中受到的影响是潜移默化的。记得自己当初在为加入团队而进行面试的时候就说过,自己加入的目的就是为了寻找和自己志同道合的人,dodo作为我的学长,应该是良师和益友了,如果问我在团队自己收获得最多的东西是什么,大抵就是这段经历了。

    似乎有点扯远了,回到正题来。为复赛框架而进行的紧张的开发刚结束,我们就开始思考决赛出题的问题了。Idea还是dodo给出的——贪食蛇,这个题目相信大家都很熟悉了,为了让题目不至于太简单我们增加了一些元素,比如说Key和Door, 吃到Key以后能够打开Door,从而可能出现更短的到达目标点的路径。最后的要求是以最短的代价吃到最多的苹果。

    在框架的技术方案上,我们摒弃了原来的独立进程的方案,而回到了dll上来,原因是复赛中大家都无法使用调试器来调试自己的程序。在界面框架上,我和dodo都不喜欢MFC,所以决定使用设计得更好的WTL框架。开发是在五子棋的基础上进行的,所以耗费的时间略少。最后的代码并不多,大约3000+的样子,在良好的设计思想的指导下,代码的质量相当的高,可以当作学习的模板。dodo在之后也多次用这个框架来给新队员们介绍设计的思想。

   比赛的时间是一个下午,所有的队伍都现场完成自己的作品。和dodo共事久了,发现他是一个相当喜欢卡点的人,每次都在刚刚在deadline之前把事情做完,程序总是在最后一刻才改完,然后就急忙奔赴比赛场所。在他们比赛的时候自己也花了一些时间写了一个示范的程序,原本打算晚上演示一下的,不过可惜差一点没调试出来。选手们在5:30提交了自己的程序,然后我和dodo就赶忙在隔壁的教师休息室批改作品,这中间还发现了评分程序的一个bug,幸好被及时的发现了。那次也是印象中第一次吃工作餐。晚上的时间是现场答辩的颁奖典礼。那些面孔此后依然熟悉,很多人都成为了团队中的队友。

   比赛的完成情况和之后的一届相比还是有很大差距的,虽然不是很难的题目,但是大多数组都无法想到用广搜来解决这个问题,这大概是因为电信系的同学对于算法并没有很大的关注的原因吧。自己在学习数据结构的时候根本就没有听老师讲,在大一下的时候就阅读了一本用C++模板方法讲述的数据结构的书,看得相当的有味道。而到上课的内容则完全没有意思,对于广泛使用的数据结构的教材,个人推荐不要去看,书里面经常可以看到的是大段难以理解的文字描述,对于学生的理解来说是有害而无益,国外的书的质量则很高,讲得深入浅出。这又是题外话了。

  附决赛的框架程序 GreedySnake

Author: admin Categories: 闲话生活 Tags: