1. 程式人生 > >64匹馬、8賽道,知識多少輪比賽找出速度最快的4匹馬?

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

通過 怎麽 怎麽辦 第一步 del 技術分享 tex 快的 比賽

一共需要比賽的場次:8 + 1 + 1 + 1 = 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個跑道,怎麽辦?那就隨機選出8匹馬進行一次比賽吧(需要比賽一場)

第四步

上面比賽完,選出了前三名,但是9匹馬中還有一匹馬沒跑呢,它可能是一個潛力股啊,那就和前三名比一比吧,這四匹馬比一場,選出前三名。最後加上總冠軍,跑得最快的四匹馬誕生了!!!(需要一場比賽)

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