64匹馬、8賽道,至少多少輪比賽找出速度最快的4匹馬?


一共需要比賽的場次:10場或者11場

8 + 1 + 1 + 1 = 11 場或8+1+1=10場

10場合11場前面的兩次比較都是一樣的主要區別在於最后兩場的比較

解題思路如下:

第一步

全部馬分為8組,每組8匹,每組各跑一次,然后淘汰掉每組的后四名,如下圖(需要比賽8場)

這里寫圖片描述

 

第二步

取每組第一名進行一次比賽,然后淘汰最后四名所在組的所有馬,如下圖(需要比賽1場)

原因是:該組最快的馬也不能跑進前4名那么該組所有的馬都不是前4名的馬匹。同時也能知道在這次比賽中跑最快的一定是所有馬匹的冠軍。

這里寫圖片描述


這個時候總冠軍已經誕生,它就是A1,藍色區域(它不需要比賽了),而其他可能跑得最快的三匹馬只可能是下圖中的黃色區域了(A2,A3,A4,B1,B2,B3,C1,C2,D1,共9匹馬)

備注:下面的圖中的A1 B1不是前面的A1和B1了,這是重新排序后的,通過上面的比賽可以知道A1>B1>C1>D1(馬匹速度)

 

這里寫圖片描述

 

第三步

只要從上面的9匹馬中找出跑得最快的三匹馬就可以了,但是現在只要8個跑道,怎么辦?

此時我們可以把接下來的比較分為兩種情況:因為我們前面已經知道了A1>B1>C1>D1,此刻我們假設D1是第四名,那么需要比較的是A2、B2、C2、A3、B3、A4、D1,如果D1在此組跑最快,則可以知道D1就是第四名(因為前面我們已經知道了A1>B2>C1>D1)則就可以知道前四名的馬匹了,總共比較次數是10場。

如果此時D1不是跑最快的,則我們前面的假設是不能確定的只能知道A1還是第一名其他的2-4名還不能確定,需要繼續判斷,但是我們可以肯定的是D1肯定不是第四名了,這是我們就把A2,A3,A4,B1,B2,B3,C1,C2 總8匹馬進行比賽一次就可以知道前4名了。總共需要11


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM