题目
你有\(25\)匹马,每次最多只能让\(5\)匹马同场比赛。没有秒表,因此每场比赛你只能知道这\(5\)匹马的名次先后,不能知道速度差距。
问:最少需要多少场\(5\)马比赛,才能确定这\(25\)匹马里最快的前\(3\)匹?
分析
答案是\(7\)场。
先把\(25\)匹马分成\(5\)组,每组\(5\)匹,记为\(A,B,C,D,E\)组。
- 先跑前\(5\)场:各组内部各跑一场,得到每组内部顺序。
- 第\(6\)场:让各组第一名\(A_1,B_1,C_1,D_1,E_1\)再比一次。设结果为
\[ A_1>B_1>C_1>D_1>E_1.\]
这时可以大量淘汰:
- \(D,E\)两组全部淘汰。因为\(D_1,E_1\)都已经输给了\(A_1,B_1,C_1\),更不用说同组其他马。
- \(C_2,C_3,C_4,C_5\)淘汰。因为它们都慢于\(C_1\),而\(C_1\)又慢于\(A_1,B_1\),所以它们前面至少有\(3\)匹马。
- \(B_3,B_4,B_5\)淘汰。因为它们慢于\(B_2,B_1\),且\(A_1\)也快于它们,所以前面至少有\(3\)匹马。
- \(A_4,A_5\)淘汰。因为它们慢于\(A_3,A_2,A_1\),前面至少有\(3\)匹马。
剩下仍可能进入总前\(3\)的只有
\[ A_1,A_2,A_3,B_1,B_2,C_1.\]
其中\(A_1\)已经确定是总第一(它在第\(6\)场赢了所有组第一)。所以真正要争总第\(2\)、第\(3\)的是
\[ A_2,A_3,B_1,B_2,C_1\]
这\(5\)匹马。
- 第\(7\)场:让这\(5\)匹马同场比赛,这场的前两名就是总第\(2\)和总第\(3\)。
因此总场数是\(5+1+1=7\)。
另外,\(6\)场不够:在第\(6\)场后,上述\(5\)匹候选马之间仍有关键相对次序未知,不再加赛就无法唯一确定总第\(2\)、第\(3\)。所以最少场数确实是\(7\)。