一类著名的问题,见诸各大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场比赛就可以了。