首页 > 代码库 > lightoj1232_完全背包
lightoj1232_完全背包
题目链接:http://lightoj.com/volume_showproblem.php?problem=1232
题意: 给出n种硬币的币值,每种硬币最多有k个,问用这n种硬币组成k的方案数
1 #include <algorithm> 2 #include <iostream> 3 #include <cstring> 4 #include <cstdlib> 5 #include <cstdio> 6 #include <vector> 7 #include <ctime> 8 #include <queue> 9 #include <list>10 #include <set>11 #include <map>12 using namespace std;13 #define INF 0x3f3f3f3f14 #define mod 10000000715 typedef long long LL;16 17 int val[105], num[105], dp[10005];18 int main()19 {20 int t, n, k;21 scanf("%d", &t);22 for(int ca = 1; ca <= t; ca++)23 {24 scanf("%d %d", &n, &k);25 for(int i = 1; i <= n; i++)26 scanf("%d", &val[i]);27 memset(dp, 0, sizeof(dp));28 dp[0] = 1;29 for(int i = 1; i <= n; i++)30 {31 for(int j = val[i]; j <= k; j++)32 {33 dp[j] = (dp[j] + dp[j - val[i]]) % mod;34 }35 }36 printf("Case %d: %d\n", ca, dp[k]);37 }38 return 0;39 }
lightoj1232_完全背包
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。