NYOJ 364 田忌賽馬 (貪心)

2021-06-09 14:42:33 字數 546 閱讀 9380

題目鏈結

好長一篇閱讀理解,不過題意不難理解,第一行給出n表示有n場比賽,以下兩行分別給出n個數,分別表示田忌和齊王n匹馬的速度,贏家從輸者手中獲得200錢,求田忌最多能贏多少錢。

思路:1、當田忌最快的馬比齊王最快的馬快時,用田忌最快的馬對抗齊王最快的馬,贏一場。

2、當田忌最慢的馬比齊王最慢的馬快時,用田忌最慢的馬對抗齊王最慢的馬,贏一場。

3、當1、2都不滿足時,用田忌最慢的馬對抗齊王最快的馬,若田忌最慢的馬比齊王最快的慢時,輸一場,否則平局。

**實現:

#include#includeusing namespace std;

int tian[1005],king[1005];

bool cmp(int a,int b)

int match(int n)

else if(tian[tr]>king[kr])

else

{ if(tian[tr]>n)

{ for(i=0;i>tian[i];

for(i=0;i>king[i];

cout<

NYOJ 364 田忌賽馬(貪心)

nyoj 364 田忌賽馬 貪心 ini題目鏈結 好長一篇閱讀理解,不過題意不難理解,第一行給出n表示有n場比賽,以下兩行分別給出n個數,分別表示田忌和齊王n匹馬的速度,贏家從輸者手中獲得200錢,求田忌最多能贏多少錢。include includeusing namespace std int t...

nyoj364田忌賽馬

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

NYOJ 364 田忌賽馬

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