16匹马4个跑道选取前四名的思考

一类著名的问题,见诸各大IT名企的面试。题目大意是N*N匹马N个跑道决出前N名。

现在探讨N=4的情况。

解题思路:

1)第一轮:分A、B、C、D四组,分别进行比赛。

结果是 :

A1 ,A2,A3,A4

B1,B2,B3,B4

C1,C2,C3,C4

D1,D2,D3,D4

(假定X1强于X2,X2强于X3,X3强于X4 )

第一轮不能淘汰任何一匹马。

共4场比赛

2)第二轮两套方案

方案 :a) 第一轮各组的第一名比,决出名次,不妨设A1强与B1,B1强于C1,C1强于D1

A1 ,A2,A3,A4

B1,B2,B3, B4B4

C1,C2,C3,C4

D1,D2,D3,D4

那么第二轮下来,可淘汰6匹马。第一名是A组第一名即A1。

共1场比赛

方案 :b)第一轮各组的第二名比,决出名次,不妨设A2强于B2,B2强于C2,C2强于D2

A1 ,A2,A3,A4

B1,B2,B3,B4

C1,C2,C3,C4

D1,D2,D3,D4

那么第二轮下来,可淘汰8匹马。第一名是A1,B1,C1,D1其 中一匹,但无法知道具体是哪一匹马。

共1场比赛

3)第三轮比赛

第一轮的四个第一名比赛,第一二名归C1,D1,那么只要经过4+1+1=6场比赛就能排出名次。


但是最坏的情况A1强于B1,B1强于C1,D1呢?

显然A2,B2其中之一为第二名,A3,B2,C1可能是第三名或更差,A4,D1是第四名,或更差。

一:A2,A3,B1,B2比(1场比赛)

(a).A2强于B1

A1,A2分列第一、第二名 。

1.1 A3也强于B1,

那么A3第三名,A4和B1比决出第四名,共4+1+1+1=7场

1.2 A3弱于B1,强于B2

B1第三名,A3再与C1比决出第四名,共4+1+1+1=7场

1.3 A3弱于B2

B1第三名,B2和C1决出第四名共4+1+1+1=7场


(b)B1强于A2

B1就是第二名,

2.1 A2强于B2,那么A2第三名,A3、B2、C1、D1在比决出四名,共4+1+1+1=7场比赛。

2.2 A2弱于B2,A2,B2,C1,D1比决出三四名,共4+1+1+1=7场比赛。

二:B1,C1,A2,B2比(1场比赛)

(a)A2强于B1

A2就是第二名,B1第三名,然后A3,B2,C1角逐第四名,共4+1+1+1=7场比赛

(b)A2弱于B1

B1第二名,也是7场


综上,题目的答案是,坏的情况下7场得到前四名。好的情况6场比赛就可以了。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值