USACO 2.3 货币系统(背包/生成函数)
来源:互联网 发布:存照片的软件 编辑:程序博客网 时间:2024/05/22 11:49
USACO 2.3 货币系统(背包/生成函数)
Time Limit:10000MS Memory Limit:65536K
Total Submit:141 Accepted:77
Case Time Limit:1000MS
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
var a:array[0..1001] of longint; f:array[0..10001] of int64; n,m,j,k,l,i:longint;begin readln(n,m); for i:=1 to n do read(a[i]); f[0]:=1; for i:=1 to n do for j:=a[i] to m do f[j]:=f[j]+f[j-a[i]]; writeln(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)
- 潜水员
- C++之内存对齐原则
- 分组背包
- android学习(十八) 添加动画(四) 缩放视图
- 七道可能你也不太会的css基础题?
- USACO 2.3 货币系统(背包/生成函数)
- Java打印菱形,非常简单的方法!代码更简洁!
- UVA
- 数据结构--线性表之链表
- PullToRefreshExpandableListView在Fragment中应用
- 砝码称重II
- Java之集合
- 验证码60倒计时js代码
- 在 Ubuntu 16.04 中安装谷歌 Chrome 浏览器