nyoj 田忌賽馬

2021-07-24 15:15:52 字數 569 閱讀 9720

題目大意:

第一行給出n表示有n場比賽,以下兩行分別給出n個數,分別表示田忌和齊王n匹馬的速度,贏家從輸者手中獲得200錢,求田忌最多能贏多少錢。

思路:1.先把兩者的馬按速度從大到小排序

2.從最大的馬開始比較,若出現齊王的馬比田忌的馬快,先暫停。

3.將此時齊王最快的馬和田忌最慢的馬比賽,田忌輸掉一局,記錄下來,並且這兩匹馬退出比賽,馬的數量減1。

4.返回2,繼續比較。直到有一次田忌的馬都比齊王的馬快或者馬的數量為0,結束。

5.計算田忌總的輸,平局和贏的次數並乘以200

**示例:

#include#include#includeusing namespace std;

bool cmp(int a,int b)

int a[1005],b[1005];

int main()

}if(flag)

else

if(t==0)

}printf("%d\n",s);

}return 0;

}

ps:還要感謝我小時候看的動畫片啊

nyoj364田忌賽馬

題意 和古代的田忌賽馬一樣,只是可以有多匹馬 大體思路用貪心,主要 盡量多贏幾場 這就有兩點 1.贏的時候盡量贏差不多的對手 2.實在贏不了,就去消耗對方高手 include include using namespace std int t 10000 int k 10000 int main v...

NYOJ 364 田忌賽馬

題意 田忌和齊王各有n匹馬,判斷怎樣比賽,使田忌淨勝場數最多。我感覺這題的精髓就是,不管怎麼比賽,都要讓田忌的馬發揮最大價值。當然,馬的第一要務是用來贏得比賽,而且要最大效益的贏,也就是要贏對方僅次於自己的馬。當他不能完成這個任務的時候就要去輸,並拉對方最快的馬下水,給自己後面的隊友創造更大的勝利機...

NYOJ 364 田忌賽馬 (貪心)

題目鏈結 好長一篇閱讀理解,不過題意不難理解,第一行給出n表示有n場比賽,以下兩行分別給出n個數,分別表示田忌和齊王n匹馬的速度,贏家從輸者手中獲得200錢,求田忌最多能贏多少錢。思路 1 當田忌最快的馬比齊王最快的馬快時,用田忌最快的馬對抗齊王最快的馬,贏一場。2 當田忌最慢的馬比齊王最慢的馬快時...