P1474 货币系统 Money Systems

题目描述

母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统。由于它们特殊的思考方式,它们对货币的数值感到好奇。

传统地,一个货币系统是由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之间。

输入输出格式

输入格式:

货币系统中货币的种类数目是 V (1<=V<=25)。要构造的数量钱是 N (1<= N<=10,000)。

第一行: 二个整数,V 和 N 。

第二行: 可用的货币的面值 。

输出格式:

输出格式:

单独的一行包含那个可能的用这v种硬币凑足n单位货币的方案数。

输入输出样例

输入样例#1:

3 10
1 2 5
输出样例#1:

10

说明

翻译来自NOCOW

USACO 2.3

与砝码称重相似:http://www.cnblogs.com/huibixiaoxing/p/6723080.html

完全背包计数。注意long long

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm> inline int read()
{
int x = 0;char ch = getchar();char c = ch;
while(ch >'9' || ch < '0')c = ch,ch = getchar();
while(ch <= '9' && ch >= '0')x = x * 10 + ch - '0',ch = getchar();
if(c == '-')return -1 * x;
return x;
} const int INF = 999999999;
const int MAXN = 10000 + 10;
const int MAXV = 25 + 5; long long w[MAXV];
long long f[MAXN];
long long v,n; int main()
{
v = read();n = read();
for(int i = 1;i <= v;i ++){
w[i] = read();
}
f[0] = 1;
for(long long i = 1;i <= v;i ++){
for(long long j = w[i];j <=n;j ++){
f[j] += f[j - w[i]];
}
}
std::cout<<f[n];
return 0;
}

最新文章

  1. MPLS与LDP从入门到了解
  2. PowerShell中的基础数据类型
  3. android中MVP模式
  4. Windows进程通信 -- 共享内存(1)
  5. MVC之前的那点事儿系列
  6. QT mainwindow四件套
  7. HTTP返回值
  8. 【原】UI随设备旋转从iOS6到iOS8的适配策略
  9. sql, plsql 总结
  10. 添加service到SystemService硬件服务
  11. centos7.0安装docker报错
  12. ejs 基本语法
  13. INDEX RANG SCAN无需回表的情况
  14. jsp,jquery,spring mvc 实现导出文件
  15. 初始MyBatis
  16. Twisted使用和scrapy源码剖析
  17. C++编译器何时为用户提供默认构造函数
  18. Windows安装docker (带安装包)
  19. js &#183;节点的知识点
  20. NIO服务器与客户端

热门文章

  1. spring retry 重试机制完整例子
  2. 03_Spring Bean的装配模式_基于Annotation配置方式
  3. Python学习day11-函数基础(1)
  4. 关于python DataFrame的学习记录
  5. 获取计算机以及本机信息API
  6. C语言复制数组
  7. python 日记 day4。
  8. 166 链表倒数第n个结点
  9. add-apt-repository ppa:&lt;ppa_name&gt;
  10. 卸载VS2015之后,安装VS2017出错