多重揹包問題 硬幣

2021-09-22 21:27:23 字數 758 閱讀 1336

給定n種硬幣,其中第 i 種硬幣的面值為ai,共有ci個。

從中選出若干個硬幣,把面值相加,若結果為s,則稱「面值s能被拼成」。

求1~m之間能被拼成的面值有多少個。

輸入格式

輸入包含多組測試用例。

每組測試用例第一行包含兩個整數n和m。

第二行包含2n個整數,分別表示a1,a2,…,an和c1,c2,…,cn。

當輸入用例n=0,m=0時,表示輸入終止,且該用例無需處理。

輸出格式

每組用例輸出乙個結果,每個結果佔一行。】

資料範圍

1≤n≤100,

1≤m≤105,

1≤ai≤105,

1≤ci≤1000

輸入用例:

3 10

1 2 4 2 1 1

2 51 4 2 1

0 0輸出用例:84

多重揹包問題

#includeusing namespace std;

const int maxn = 100000;

int dp[maxn];

int a[101], c[101];

int f[maxn];

int main () }}

int cnt = 0;

for (int i = 1; i <= m; i++)

}cout << cnt << "\n";

cin >> n >> m;

}}

最少硬幣問題(多重揹包)

time limit 1000 ms memory limit 65536 kib submit statistic problem description 設有n種不同面值的硬幣,各硬幣的面值存於陣列t 1 n 中。現要用這些面值的硬幣來找錢。可以使用的各種面值的硬幣個數存於陣列coins 1 n...

硬幣思考多重揹包

給定n種硬幣,其中第 i 種硬幣的面值為ai,共有ci個。從中選出若干個硬幣,把面值相加,若結果為s,則稱 面值s能被拼成 求1 m之間能被拼成的面值有多少個。輸入包含多組測試用例。每組測試用例第一行包含兩個整數n和m。第二行包含2n個整數,分別表示a1,a2,an和c1,c2,cn。當輸入用例n ...

多維多重揹包問題 多重揹包問題

悼念512汶川大 遇難同胞 珍惜現在,感恩生活 急!災區的食物依然短缺!為了挽救災區同胞的生命,心繫災區同胞的你準備自己採購一些糧食支援災區,現在假設你一共有資金n元,而市場有m種大公尺,每種大公尺都是袋裝產品,其 不等,並且只能整袋購買。請問 你用有限的資金最多能採購多少公斤糧食呢?後記 人生是乙...