2986 拼點遊戲( 4 6演算法之貪心)

2021-08-08 01:48:33 字數 1415 閱讀 9263

總時間限制: 1000ms 記憶體限制: 65536kb

描述 c和s兩位同學一起玩拼點遊戲。有一堆白色卡牌和一堆藍色卡牌,每張卡牌上寫了乙個整數點數。c隨機抽取n張白色卡牌,s隨機抽取n張藍色卡牌,他們進行n回合拼點,每次兩人各出一張卡牌,點數大者獲得三顆巧克力,小者獲得一顆巧克力,如果點數相同,每人各得二顆巧克力,使用過的卡牌不得重複使用。已知c和s取到的卡牌點數,請程式設計計算s最多和最少能得到多少顆巧克力。

輸入 輸入包含多組測試資料。

每組測試資料的第一行是乙個整數n(1<=n<=1000),接下來一行是n個整數,表示c抽到的白色卡牌的點數,下一行也是n個整數,表示s抽到的藍色卡牌的點數。

輸入的最後以乙個0表示結束。

輸出 對每組資料,輸出一行,內容是兩個整數用空格格開,分別表示s最多和最少可獲得的巧克力數。

樣例輸入

3 92 83 71

95 87 74

2 20 20

20 20

2 20 19

22 18

0 樣例輸出

9 5

4 4

4 4

(1)如果b的大點數牌能贏a的大點數牌,則進行比較,否則執行(2);

(2)如果b的小點數牌能贏a的小點數牌,則進行比較,否則執行(3);

(3)如果b的小點數牌能和a的大點數牌,則進行比較,否則執行(4);

(4)將b的小點數牌和a的大點數牌進行比較;

第乙個**是列舉法,超時。第二個是對的

#include 

#include

using

namespace

std;

int n,a[1100],b[1100],ma,mi;

int main(int argc, char *argv)

ma=max(ma,t);

mi=min(mi,t);

}while(next_permutation(b,b+n));

cout

<" "

0;}

#include 

#include

using

namespace

std;

////參考的,使用田忌賽馬的思路

int n,a[1100],b[1100],ma,mi;

int f(int a,int b)//(1)

else

if(b[l2]>a[l1])//(2)

else

if(b[l2]==a[r1])//(3)

else//(4)

}return ans;

}int main(int argc, char *argv)

拼點遊戲 貪心

總時間限制 1000ms 記憶體限制 65536kb 描述c和s兩位同學一起玩拼點遊戲。有一堆白色卡牌和一堆藍色卡牌,每張卡牌上寫了乙個整數點數。c隨機抽取n張白色卡牌,s隨機抽取n張藍色卡牌,他們進行n回合拼點,每次兩人各出一張卡牌,點數大者獲得三顆巧克力,小者獲得一顆巧克力,如果點數相同,每人各...

19 裝箱問題(4 6演算法之貪心)

總時間限制 1000ms 記憶體限制 65536kb 描述 乙個工廠製造的產品形狀都是長方體,它們的高度都是h,長和寬都相等,一共有六個型號,他們的長寬分別為1 1,2 2,3 3,4 4,5 5,6 6。這些產品通常使用乙個 6 6 h 的長方體包裹包裝然後郵寄給客戶。因為郵費很貴,所以工廠要想方...

2469 電池的壽命 4 6演算法之貪心)

總時間限制 1000ms 記憶體限制 65536kb 描述 小s新買了乙個掌上遊戲機,這個遊戲機由兩節5號電池供電。為了保證能夠長時間玩遊戲,他買了很多5號電池,這些電池的生產商不同,質量也有差異,因而使用壽命也有所不同,有的能使用5個小時,有的可能就只能使用3個小時。顯然如果他只有兩個電池乙個能用...