演算法 賽馬問題

2022-08-20 09:36:11 字數 405 閱讀 8677

有25匹馬和乙個5個賽道的馬場,每場比賽可以決出5匹馬的排名,假設每匹馬發揮穩定,且不會出現名次相同的情況。問:如果要知道25匹馬中跑得最快的馬,需要幾場比賽?如果需要知道跑得第二快的馬,需要幾場比賽?第三快的呢?

首先將25匹馬分5組比賽5次,可以得到各組內的排名。將5個第一名再賽一次,就可以知道25匹馬中最快的馬。將最快的馬那組的第二名替換掉第一名,再賽一次,就可以知道第二快的馬是誰。

根據賽馬的各組名次,可以構建出賽馬的遞增矩陣,其中每一列代表乙個分組,從上至下為從快到慢。

根據該矩陣可以使用貪心演算法的思想,很快的選出最快的3匹馬。

總結第一快需要6場、第二快需要7場、第三塊需要8場

田忌賽馬貪心演算法 田忌賽馬問題 貪心演算法

關於輸入 輸入包含多組測試資料.每組測試資料的第一行是乙個整數n 1 n 1000 表示田忌和齊王都擁有n匹馬。接下來一行是n個整數,表示田忌的馬的速度,下一行也是n個整數,表示齊王的馬的速度。輸入的最後以乙個0表示結束。關於輸出 對每組資料,如果田忌能贏則輸出 win 如果田忌能輸則輸出 lose...

田忌賽馬貪心演算法 貪心演算法 田忌賽馬問題

題目描述 你一定聽過田忌賽馬的故事吧?如果3匹馬變成1000匹,齊王仍然讓他的馬按從優到劣的順序出賽,田忌可以按任意順序選擇他的賽馬出賽。贏一局,田忌可以得到200兩銀子,輸一局,田忌就要輸掉200兩銀子,平局的話不輸不贏。請問田忌最多能贏多少銀子?關於輸入 輸入包含多組測試資料.每組測試資料的第一...

演算法題 賽馬

在一條無限長的跑道上,有n匹馬在不同的位置上出發開始賽馬。當開始賽馬比賽後,所有的馬開始以自己的速度一直勻速前進。每匹馬的速度都不一樣,且全部是同樣的均勻隨機分布。在比賽中當某匹馬追上了前面的某匹馬時,被追上的馬就出局。請問按以上的規則比賽無限長的時間後,賽道上剩餘的馬匹數量的數學期望是多少 輸入描...