【完全背包问题】有1,2...K种类型的dollar,求组成价值为N的方法有多少种
来源:互联网 发布:adobe软件多少钱 编辑:程序博客网 时间:2024/05/29 08:36
//完全背包问题
//有1,2...K种类型的dollar,求组成价值为N的方法有多少种。
#include <stdio.h>
int nums[1001]; //组成最大dollar值N的总情况数,1<=N<=1000
#define MAXCASES 100000000
int main(void)
{
int tc, T;
int N=0, K=0;
int i=0,j=0;
scanf("%d", &T);
for(tc = 0; tc < T; tc++)
{
scanf("%d %d", &N,&K);
nums[0] = 1; //init,这使得<使用i==1的dollar(物品)组成N>的情况数是1:1xN=N
for(i=1; i<1001; i++)
{
nums[i] = 0;
}
for(i=1; i<=K; i++) //K种可供选择的dolloar
{
for(j=i; j<=N; j++) //i~N
{
nums[j] = (nums[j] + nums[j-i]) % MAXCASES; //组成J的情况数是:<使用了i dolloar情况数> + <只使用前i-1种dollar的情况数>
}
}
printf("%d\n", nums[N]);
}
return 0;
}
0 0
- 【完全背包问题】有1,2...K种类型的dollar,求组成价值为N的方法有多少种
- 长度为n的数组,取其中k个,要求和为sum,求有多少种取法
- codeforces 251E: Devu and Birthday Celebration(求把这个n分成f块,切这f块的gcd为1有多少种方法)
- 用1,2,5组成和为100,求一共有多少种方式
- 杭电1284 钱换为3,2,1分的硬币,换取的方法有多少种类
- 求N的阶乘N!末尾有多少个零
- C语言,有N个硬币面值为a[1]...a[N],给一个非负数m,用这些硬币凑成m,求有多少种方法?
- 每次走1到2步,有多少种方法可以到达长度为N的终点:
- 判断 n 以内的完全数有多少个!
- 求n的阶乘的末尾有多少个零
- poj 1028 Ignatius and the Princess III 等于价值为M的有多少种情况
- 求n!的结果末尾有多少0
- 求 n!的后面有多少个 0
- 给定一个N,求1-N之间有多少可以输出的数。
- 数学:给你长度1~n的线段 组成三角形最长边长度不超过你的n三角形有多少个
- 【HDU 1398】【母函数入门题】Square Coins【硬币种类有1^2,2^2,3^2,4^2...17^2,这几种;输入n;求出能够组合成n的组合有多少种】
- 【容斥原理】求1~n有多少个数与k互质
- 有n个1-9的互不重复的数字,能组成多少个互不相同且无重复数字的n-1位数?都是多少?
- JDBC
- 【Leetcode】Add Two Numbers
- JSON,String和对象之间的转换
- 前端开发面试题集锦(三)
- http的302,303和307
- 【完全背包问题】有1,2...K种类型的dollar,求组成价值为N的方法有多少种
- IOS开发环境搭建及第一个小程序
- NLP学习笔记
- poj 3260 The Fewest Coins(背包)
- autoconf问题
- 八叉树Octree
- Power of Cryptography(高精度)
- unity3d如何实现手指向左滑动倒序播放图片序列
- ios Crash闪退日志获取和上传至服务器(NSSetUncaughtExceptionHandler)