總時間限制: 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個小時。顯然如果他只有兩個電池乙個能用...