拼點遊戲 貪心

2021-10-03 22:50:23 字數 1162 閱讀 1992

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

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

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

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

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

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

樣例輸入

392 83 71

95 87 74

220 20

20 20

220 19

22 18

0樣例輸出

9 54 4

4 4思路:

上課時老師講了一道撲克牌的題目,然後看到這道題就想到了那個辦法,但仔細品了一下題感覺和田忌賽馬問題特別像,將它分解為比較最大數和最小數的問題,

本質思想都是: 如果我最好的比不過你, 就拿我的最差的比你最好的, 再拿我最好的比你其次好的,具體實現都在**的注釋中

**

#include

#include

using

namespace std;

const

int n =

1e3+5;

int a[n]

, b[n]

;int n;

intf

(int a,

int b)

else

if(b[l2]

> a[l1]

)//b的最小數大於a的最小數

else

if(b[r2]

== a[r1]

)//b的最小數和a的最大數相等

else

//輸了

}return ans;

}int

main()

return0;

}

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

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

田忌賽馬 拼點遊戲

還是english,要不是看題目,我都被原題整懵了,直接上chinese吧 descriptions 田忌和齊王賽馬,他們各有n匹馬,依次派出一匹馬比賽,贏了加200,輸了減200,平局不加錢,問如何安排馬的出場順序,使得田忌贏的錢最多 input 輸入最多包含 50 組測試資料。對於每組測試資料,...

乙個簡單的 貪心 拼點遊戲 周記4

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