Re: [问题] 一题关于赛马的题目

楼主: kiedveian (极地之星光)   2011-11-27 09:10:20
※ 引述《ds0319 (扑扑扑)》之铭言:
: 其实是面试的题目
: 只是我好想知道答案...
: 就是说今天有100只马,要找出最快的前三只
: 但是跑道只有三个,也就是说一次最多三只马下去跑分出胜负
: 快的马永远都会跑的比慢的马快
: 请问最少要跑几轮比赛
我的方法同前推文所写
(33+11+4+1+1) + 2 + 2 = 54次
详细一点为
(33+11+4+1+1) +(1+1)+(1+1)
使用方法为
1.先选出第一名
2.从输给第一名中选第二名
3.从输给第二名中选第三名
使用这个方法必须依序选出一二三名
否则不确定第一名,可能输给第一名的会非常的多
定义a与b ,a为输给第1名的,b为输给第2名的
找出第一名共5个阶段
其中第一阶段的余数并入第3阶段比
100
33....1 a b
11....0 a b
4.....0 a b
1.....1 a b
1.....0 a
共33+11+4+1+1轮
第5阶段操作的正确的话,可省去第4阶段的b
可想成45阶段选出第一名与第四名,第四名除去、二三名为a
作者: puzzlez (帕索最帅!)   2010-01-27 13:09:00
第二名在其他轮中 不是也有可能是第一名?
作者: closetou (时间永远都不够用)   2010-01-27 13:22:00
请问你的第二阶段为什么不是11...1而是11...0
作者: puzzlez (帕索最帅!)   2010-01-27 14:52:00
终于看懂了0.0....这题出在面试还满过分的这个有考虑到 第3名不小心与第1名在一起时被淘汰的情形吗?
作者: closetou (时间永远都不够用)   2010-01-27 15:29:00
我的方法跟原po略有不同恕小弟无能,研究很久还是看不太懂我的方法po在Tech_Job版,有不一样的地方烦请指正
作者: puzzlez (帕索最帅!)   2010-01-27 16:40:00
哦...原来如此...我没问题了 谢谢 :-)

Links booklink

Contact Us: admin [ a t ] ucptt.com