給定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種大公尺,每種大公尺都是袋裝產品,其 不等,並且只能整袋購買。請問 你用有限的資金最多能採購多少公斤糧食呢?後記 人生是乙...