25匹马,一轮可以五匹马同时跑,需要多少轮
前五轮,五只马五只马跑,跑五轮,然后每轮马中的头马再跑一轮,这样就跑了6轮
根据跑的速度从快到慢五组分别是A B C D E
现在分组如下:
A5 A4 A3 A2 A1
B5 B4 B3 B2 B1
C5 C4 C3 C2 C1
D5 D4 D3 D2 D1
E5 E4 E3 E2 E1
由于是要找出前三名,显然E组的马全部被淘汰,里面不可能有前三名的马(排在E1前面的就有A1,B1,C1,D1,而且E组的其他马跑的还没E1快)
同理D组的马也全部淘汰
C组还剩下C1还有可能,
B组还剩下B1,B2还有可能
A组还剩下A2,A3还有可能(A1已经是毫无疑问的冠军了)
最后一轮:C1,B1,B2,A2,A3五匹马再跑一轮,前两名就是最后的二三名
所以总共需要7轮
同理,如果是64匹马,8个赛道,最快的4匹马
先跑八轮,然后每轮最快的马再跑一轮,那就跑了9轮
A8 A7 A6 A5 A4 A3 A2 A1
B8 B7 B6 B5 B4 B3 B2 B1
C8 C7 C6 C5 C4 C3 C2 C1
D8 D7D 6 D5 D4 D3 D2 D1
E8 E7 E6 E5 E4 E3 E2 E1
F8 F7 F6 F5 F4 F3 F2 F1
G8 G7 G6 G5 G4 G3 G2 G1
H8 H7 H6 H5 H4 H3 H2 H1
H组,G组,F组,E组的马全部淘汰
D组只有D1保留,其他全部淘汰
C组只有C2 ,C1两匹马保留,其他全部淘汰
B组只有B3,B2,B1保留,其他全部淘汰
A组A4,A3,A2保留,A1已经决出来是冠军 其他全部淘汰
D1,C2 ,C1,B3,B2,B1,A4,A3,A2九只马决出前三名 就是所有马里面的第二名,第三名,第四名,需要两轮
所以总共需要11轮
但这里有个坑:问的是最少要几轮,其实到D1,C2 ,C1,B3,B2,B1,A4,A3,A2九只马决出前三名这步,有可能不用两步,有可能一步就比完,B1不参赛,让其他八只马去比赛,如果B2或者C1拿了冠军,那B1就妥妥的第二名,所以一步就结束了
题目问的是最少需要多少轮,所以最少需要10轮
如果问的是最少需要多少轮确保一定可以选出前四名,那答案就是11
赛马问题采用了分治的思想