ACM 698. 货币系统(背包变形)
2014-10-02 11:49
281 查看
698. 货币系统
★☆ 输入文件:moneysys.in输出文件:
moneysys.out简单对比
时间限制:1 s 内存限制:128 MB
描述 USACO 2.3.4
母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统。由于它们特殊的思考方式,它们对货币的数值感到好奇。传统地,一个货币系统是由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),即在0 到2^63-1之间。
输入格式:
(输入文件名:moneysys.in)货币系统中货币的种类数目是 V (1<=V<=25)。要构造的数量钱是 N (1<= N<=10,000)。
第一行: 二个整数,V 和 N 。
第二行: 可用的货币的面值 。
输出格式:
(输出文件名: moneysys.out)单独的一行包含那个可能的用这v种硬币凑足n单位货币的方案数。
SAMPLE INPUT
3 101 2 5
SAMPLE OUTPUT
10#include <iostream> #include <cstdio> using namespace std; #define MAX_V 10000 #define MAX_N 10001 long long V,N; long long dp[MAX_N]; int main() { freopen("moneysys.in","r",stdin); freopen("moneysys.out","w",stdout); cin>>V>>N; dp[0]=1; for(int i=0;i<V;i++) { long long v; cin>>v; for(int j=v;j<=N;j++) dp[j]+=dp[j-v]; } cout<<dp <<endl; return 0; }
相关文章推荐
- 背包问题练习之货币系统
- 120.货币系统(完全背包的方案数目)
- [USACO 2.3.4]货币系统【DP完全背包的简单应用】CSUST 1081
- 算法竞赛宝典 动态规划 货币系统问题(完全背包+一维优化)
- ACM: 0-1背包变形 动态规划题 toj …
- USACO 2.3 货币系统(背包/生成函数)
- 夕拾算法进阶篇:20)货币系统 (完全背包_动态规划DP)
- [luoguP1474] 货币系统 Money Systems(背包)
- ACM 350. 小吃店(背包变形)
- USACO 2.3 货币系统(背包/生成函数)
- USACO 2.3 货币系统(背包/生成函数)
- Gym 101102A Coins -- 2016 ACM Amman Collegiate Programming Contest(01背包变形)
- USACO 2.3 货币系统(背包/生成函数)
- [USACO 2.3.4]货币系统【DP完全背包的简单应用】CSUST 1081
- 货币系统(money) 背包问题
- 背包问题的方案总数 P1474 货币系统
- 货币系统(背包)
- (ssl1115)USACO 2.3 货币系统(背包/生成函数)(背包的方案总数)
- tyvj 1013 找啊找啊找GF 二维背包变形
- 【动态规划】【01背包变形】HDOJ 2037 今年暑假不AC