Rating the Horses


Table of Contents

题目

你有\(25\)匹马,每次最多只能让\(5\)匹马同场比赛。没有秒表,因此每场比赛你只能知道这\(5\)匹马的名次先后,不能知道速度差距。

问:最少需要多少场\(5\)马比赛,才能确定这\(25\)匹马里最快的前\(3\)匹?

分析

答案是\(7\)场。

先把\(25\)匹马分成\(5\)组,每组\(5\)匹,记为\(A,B,C,D,E\)组。

  1. 先跑前\(5\)场:各组内部各跑一场,得到每组内部顺序。
  2. \(6\)场:让各组第一名\(A_1,B_1,C_1,D_1,E_1\)再比一次。设结果为

\[ A_1>B_1>C_1>D_1>E_1.\]

这时可以大量淘汰:

  1. \(D,E\)两组全部淘汰。因为\(D_1,E_1\)都已经输给了\(A_1,B_1,C_1\),更不用说同组其他马。
  2. \(C_2,C_3,C_4,C_5\)淘汰。因为它们都慢于\(C_1\),而\(C_1\)又慢于\(A_1,B_1\),所以它们前面至少有\(3\)匹马。
  3. \(B_3,B_4,B_5\)淘汰。因为它们慢于\(B_2,B_1\),且\(A_1\)也快于它们,所以前面至少有\(3\)匹马。
  4. \(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\)匹马。

  1. \(7\)场:让这\(5\)匹马同场比赛,这场的前两名就是总第\(2\)和总第\(3\)

因此总场数是\(5+1+1=7\)

另外,\(6\)场不够:在第\(6\)场后,上述\(5\)匹候选马之间仍有关键相对次序未知,不再加赛就无法唯一确定总第\(2\)、第\(3\)。所以最少场数确实是\(7\)

Previous Next