
2006年6月23日
http://min-qin.blogspot.com
posted @
2007-05-01 09:49 Binary Race 阅读(39) |
评论 (0) |
编辑
拿了一个“Best Coding”单项奖,出乎我们的意料,本来以为能在另外两个单项奖上有所作为的。
我们的软件实际测试环节排名是第三,但由于其他的分数低了一些,比如团队合作、计划实施等表面上的东西丢了一些分,所以最后的总排名是第四。
团队合作、计划实施等这些表面上的东西不是不重要,我们也是有的,只是没有通过某种方式变现出来,所以评委也没法评估好坏了。
整个比赛还是非常有收获的,基本上见识了一个软件开发的大致流程及其复杂性。趋势这个公司给我的印象也非常不错,很有朝气,比赛组织得也是井井有条,很多方面都考虑得比较周到。
但在比赛组织方面还是有一些可以改进的地方,比如“不能上网”这个限制条件,赛后我和队友开玩笑说:如果能用1小时google,也许我们能拿个第一:P。
这当然不是胡说的,赛题主要是关于网络安全方面,我们都是非计算机专业的,看计算机专业的普通词汇还行,但是网络安全的专业词汇就不行了,以至于我们到最后才把题目的一个关键问题搞清楚(当时已经来不及作修改了)。
另外我们的一个队员一直在钻研一个关键问题,但是到最后没有形成完成的解决方案,其中一个checksum算法就把我们卡住了半天,书上没有详细的资料,我们竟然自己在那里反演这个算法!!
这当然也说明了我们的基本功还是不扎实。我觉得这些基本的东西能用就行了,谁能全部记住啊,关键是要有敏锐的思维和超强的学习能力。
四天的比赛还有许多见闻,许多感想,就不一一道来了,总之要真想在软件这一行干下去的话,要学的,要实践的,还有许多,现在还差得太远,但愿还有机会:)
相关报道见:http://sd.csdn.net/subject/trendmicro/
Ecogiser's Blog
posted @
2006-08-04 09:55 Binary Race 阅读(90) |
评论 (1) |
编辑
参加2006年的Imagine cup的预选赛时,时间已经不多了,第一轮结束就不能再登陆Herbert了,非常遗憾没有解决掉所有的关,不过当时留了个心眼,把Herbert登陆时与服务器通讯的原始tcp包抓了下来,一直想分析一下,然后让herbert直接读取包中的内容来启动。花了三天时间,终于整完了:Herbert
我破解完的Herbert有几个小bug:
1. 每个小关我以前写的解决方案都在,但是换行符变成了“..”,得把..去掉并回车才能运行。
2. 每个小关机器人的初始位置不对,必须按一下开始(Ctrl+G)才能显示正确的位置。
3. 暂时不能保存写的解决方案。
4. 计分好像有差错。
破解过程:
1. 分析tcp包,过滤掉无用的,错误的包,把错位的包根据seq、ack和len码排好顺序。
2. 提取出Data,发现是个xml。
3. 原先Herbert通过webservices获得一个dataset,现在“override”这个过程,直接从xml得到dataset。
想法:
1. 做成web版本的,加上AJAX,注册了以后直接在网页上玩,然后来个积分榜……,注册用户还可以自己建关让大家玩
Note:
1. 用户密码随意。
2. Dotnet framework1.1
3. 玩的时候把下方的speed调到最高比较舒服,要不然Herbert走得太慢。
4. 开始的loadingdata过程较长,是正常的。
5. 一定要注意herbert的初始位置可能不对,按一下开始(Ctrl+G)才能显示正确的位置。
第一关的解决方案是:
a(A):rArAa(Ass)
a()
>>
Herbert 玩法:
官方规则(英语),翻译了几条主要部分:
1. 使用h语言对机器人进行编程
2. 目标是机器人按到所有的“button”(白色),并且需要避让开灰色的“button”和“wall”
3. 按到灰色按钮将重置所有已经被按到的白色按钮,“wall”将阻挡机器人的前进。
4. h语言:
a) 有着一般高级语言的元素:statements, procedures, parameters, arguments, and recursion
b) h语言的指令只有三个:s(前进一步), r (右转), l (左转)。
c) 过程的定义:x[(P1,P2,...,Pk)]:y1y2y3...yn ,x 是除了s,r,l的任何小写字母, Pi 是参数, yi 是任何指令, 0 <=k <=15, and n >= 0. If k = 0 说明该过程没有参数。
d) 参数可以是数字,也可以是指令组合
e) 多说也说不清楚,看几个例子,可以在Herbert客户端的level0里面练习练习:
i. a(a):sa(A-1)
a
ii. b:sssrb
b
iii. a:ssssra
sssa
iv. a(A,B):f(B)ra(A-1,B)
f(A):sf(A-1)
a(4,5)
v. a(A,B,C):f(B)Ca(A-1,B,C)
f(A):sf(A-1)
a(4,5,r)
f) 每个字母和数字算1个byte,符号不算
5. 计分规则:
设:
Points:根据难度设置的关卡分值
TotalButtons :每关的白色按钮
Buttons:按到的白色按钮
MaxBytes :每关的最大允许bytes
Bytes :实际使用的bytes
a) If Buttons = TotalButtons and Bytes <= MaxBytes
score = (Points*MaxBytes)/Bytes.
b) If Buttons < TotalButtons or Bytes > MaxBytes, you have not solved the level. Score = Buttons*PointsPerButton
PointsPerButton is determined as follows:
i. If Bytes <= MaxBytes, PointsPerButton = (Points/(2*TotalButtons)).
ii. If MaxBytes < Bytes <= 2*MaxBytes, PointsPerButton = (Points*(2*MaxBytes -Bytes)/(2*MaxBytes*TotalButtons)).
iii. If 2*MaxBytes < Bytes, PointsPerButton = 0
Ecogiser's Blog
posted @
2006-07-02 11:29 Binary Race 阅读(602) |
评论 (5) |
编辑
周二,颈椎又开始抗议了,不是简单的肩膀疼,而是头疼,看来又得好好休息几天了。
刚好,mm的mm中考,她妈又刚好出差,我就和mm回来给她做饭了。
这几天的菜谱真的很不错啊,估计能长上几斤了:)
星期三:咖喱鸡,咖喱放的稍微有些少,没有上次有味,但是整体还是很不错的。
星期四:红烧肉,第一次做红烧肉,非常不错,一餐就吃光了,就是肥肉和肉皮稍微有些少了。
星期五:牛肉炖胡萝卜+番茄。前些天作了几次牛肉炖番茄,这次看来,番茄只要放两个,有酸味就可以了,其余的配料是次要的,主要为了添饱肚子。ps:牛肉番茄汤加一些面包屑就是大名鼎鼎的罗宋汤了。
这些都是我mm主勺,可不是我不想做菜,我抢不过她,哈哈,她的兴致太高了,我只能打打下手了,不过明天的鲫鱼汤和后天的可乐鸡可是我的拿手好菜,她就得打下手了,呵呵。
我很奇怪,每次同学或朋友问到我是南方人,就是南方人好啊,南方人会做饭啊,似乎有些歧视会做饭的男人似的。
不过还好,我不做饭,我只做拿手菜。
Ecogiser's Blog
posted @
2006-06-23 22:14 Binary Race 阅读(137) |
评论 (0) |
编辑