田忌賽馬(貪心

2022-08-19 14:09:10 字數 819 閱讀 2360

給出田忌和齊王各馬的速度,求最優得分;

我的貪心策略(當然是錯的 :

1,用我方在 可以 戰勝 或 比平 對方最慢的馬 的馬 中 最慢的馬 去比 對方最慢的馬

2,直到我方最快的馬也下場了,剩下的馬預設全部戰敗

這種策略明顯是不對的——我方的快馬的貪心策略應該是擊敗能力範圍內對方最快的馬(浪費最小),我方的慢馬的貪心策略應該是(在不能發揮其他作用的情況下)去噁心掉對方最快的馬(額外獲益最大)

結合這兩種策略,總貪心策略應該是:

1.用我方最快馬比對方最快馬,如能獲勝,則勝之(不能有更好的結果了)

2,如果1中不能戰勝,則用我方最慢馬抵之(一定會損失,讓損失最小化)

3.如果1中可以比平,若我方最慢馬可以戰勝對方的最慢馬,則讓他戰勝而不抵(還能發揮更大作用,否則用其他馬去比那匹慢馬損失更大)直到找到最沒用的慢馬,把對方最快馬給噁心掉

需要指出的是,我方最慢馬比對方最快馬是可能平局的,要判斷這種情況#include

#include

using

namespace

std;

int a[1500],b[1500

];int

main() //策略1

else

if(a[j2];} //策略2

else

//策略 3-1

else // 策略 3-2 ,注意平局的判斷

} }

printf(

"%d\n

",ans*200

); }

return0;

}

田忌賽馬(貪心)

描述 中國古代的歷史故事 田忌賽馬 是為大家所熟知的。話說齊王和田忌又要賽馬了,他們各派出n匹馬,每場比賽,輸的一方將要給贏的一方200兩 如果是平局的話,雙方都不必拿出錢。現在每匹馬的速度值是固定而且已知的,而齊王出馬也不管田忌的出馬順序。請問田忌該如何安排自己的馬去對抗齊王的馬,才能贏取最多的錢...

貪心DP 田忌賽馬

田忌賽馬 描述 description 中國古代的歷史故事 田忌賽馬 是為大家所熟知的。話說齊王和田忌又要賽馬了,他們各派出n匹馬,每場比賽,輸的一方將要給贏的一方200兩 如果是平局的話,雙方都不必拿出錢。現在每匹馬的速度值是固定而且已知的,而齊王出馬也不管田忌的出馬順序。請問田忌該如何安排自己的...

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

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