完全揹包 Piggy Bank

2021-08-21 21:41:42 字數 1051 閱讀 9197

時間限制: 1 sec  記憶體限制: 128 mb

提交: 5  解決: 2

[提交][狀態][討論版][命題人:add_cst]

現在有乙個豬存錢罐。我們知道存錢罐裡面硬幣的總重量以及罐中硬幣的種類,以及各個種類硬幣的單位重量和價值。求存錢罐裡面的錢的最小數字。

輸入由t組測試用例組成。在輸入檔案的第一行上給出它們的數目(t)。每乙個測試用例都包含乙個包含兩個整數e和f的,它們指示空空的豬存錢罐和充滿硬幣的豬存錢罐的重量。這兩種重量單位為克。沒有豬體重超過10千克,這意味著1 < = e <=f<10000。在每個測試用例的第二行上,有乙個整數n(1<n<=500),給出給定貨幣中使用的各種硬幣的數量。下面是n行,每個指定一種硬幣型別。這些行包含兩個整數,p和w,(1 <=p<50000, 1<w<10000)。p是貨幣單位的貨幣價值,w是重量。

存錢罐裡錢的最小值,格式為"the minimum amount of money in the piggy-bank is x."x為錢數,如果沒有答案輸出 "this is impossible."

3

10 110

21 1

30 50

10 110

21 1

50 30

1 62

10 3

20 4

the minimum amount of money in the piggy-bank is 60.

the minimum amount of money in the piggy-bank is 100.

this is impossible.

#include#include#include#include#include#include#define inf 0x3f3f3f3f

using namespace std;

int t,e,f,n,weight,flag,dp[10000];

struct money

m[501];

int main()

return 0;

}

Piggy Bank(完全揹包)

完全揹包問題 再判斷揹包能否裝滿 題意 給出存空錢罐的重量以及裝滿時的重量 給出每種硬幣的面值以及重量 求 存錢罐裝滿時的最小價值。若不能裝滿輸出this is impossible 值得注意的兩點的是 1 dp陣列的初始化 因為要求的是最小值 所以dp陣列賦為最大值但是dp 0 的值為0 2 如何...

完全揹包 poj 1384 Piggy Bank

完全揹包與01揹包相比,最大的差別在於完全揹包中的任意揹包有多種選擇 0,1,2,3,4,5 而01揹包要求的選擇有 0,1 兩種,所以在尋找狀態轉移方程是01揹包問為 i 1 n j v 0 f j max f j f j a i w a i p 這樣保證了每個揹包選擇一次或者0次 而完全揹包狀態...

hdu 1114 Piggy Bank(完全揹包)

題意 給出乙個存錢罐的容量,給出n種硬幣的價值p和重量w 注意 每種硬幣可無限取 1.如果存錢罐能夠正好塞滿,輸出塞滿存錢罐需要的最少硬幣的價值。2.若不能完全塞滿,則輸出impossible。思路 每種物品可以放無限多次。所以為完全揹包問題。此題是求最小值,為完全揹包的變形。注意初始化 dp 0 ...