USACO 2.3 货币系统(背包/生成函数)
来源:互联网 发布:全国人口数据库 编辑:程序博客网 时间:2024/05/22 14:36
Description
母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统。
[In their own rebellious way],他们对货币的数值感到好奇。
传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单位面值组成的。
母牛想知道有多少种不同的方法来用货币系统中的货币来构造一个确定的数值。
举例来说, 使用一个货币系统 {1,2,5,10,...}产生 18单位面值的一些可能的方法是:18x1, 9x2, 8x2+2x1, 3x5+2+1,等等其它。
写一个程序来计算有多少种方法用给定的货币系统来构造一定数量的面值。
保证总数将会适合long long (C/C++) 和 Int64 (Free Pascal)。
Input
货币系统中货币的种类数目是 V 。 (1<= V<=25)
要构造的数量钱是 N 。 (1<= N<=10,000)
第 1 行: 二整数, V 和 N
第 2 ..V+1行: 可用的货币 V 个整数 (每行一个 每行没有其它的数)。
Output
单独的一行包含那个可能的构造的方案数。
末尾有空行
Sample Input
3 101 2 5
Sample Output
10
分析
f[j]:=f[j]+f[j-a[i]];
varn,m,i,j:longint;a:array[0..1000]of longint;f:array[0..10000]of qword;begin readln(n,m); for i:=1 to n do read(a[i]); fillchar(f,sizeof(f),0); f[0]:=1; for i:=1 to n do for j:=a[i] to m do f[j]:=f[j]+f[j-a[i]]; write(f[m]);end.
0 0
- USACO 2.3 货币系统(背包/生成函数)
- USACO 2.3 货币系统(背包/生成函数)
- USACO 2.3 货币系统(背包/生成函数)
- USACO 2.3 货币系统(背包/生成函数)
- USACO 2.3 货币系统(背包/生成函数)
- USACO 2.3 货币系统(背包/生成函数)
- (ssl1115)USACO 2.3 货币系统(背包/生成函数)(背包的方案总数)
- USACO 2.3 货币系统
- [USACO 2.3.4]货币系统【DP完全背包的简单应用】CSUST 1081
- USACO 2.3 货币系统
- USACO 2.3 货币系统
- (ssl 1115,USACO 2.3)货币系统
- [Usaco training] 货币系统
- 【USACO TRAINING】货币系统
- USACO 2.2.3 货币系统
- 2054 货币系统 USACO(codevs)
- 【USACO题库】2.3.4 Money Systems货币系统
- USACO / Money Systems货币系统(DP)
- HDU2844 Coins
- 数论
- Ubuntu下Python 3.3的安装
- 子集选择
- RSA公钥私钥的简单实现
- USACO 2.3 货币系统(背包/生成函数)
- 区域内点的个数
- 隐藏底部虚拟导航栏
- UESTC395 Dynamic Query System 【简单平衡树(数组Treap)】
- 子树
- 文章标题 Catch That Cow
- Word Amalgamation (stl-map)
- 两个数判断大小(不能用 if, switch, ?, 和其他判断语句)
- 人月神话读后感 摘要