题目描述
母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统。
[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)。

输入
输入包含多组测试数据。

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

第 1 行: 二整数, V 和 N
第 2 … V+1行: 可用的货币 V 个整数 (每行一个 每行没有其它的数)。

输出
单独的一行包含那个可能的构造的方案数。

样例输入

3 10
1 2 5

样例输出

10

思路:完全背包问题。
状态转移方程:dp[v] = dp[v] + dp[v - w[i]], w[i] <= v <= N, 1 <= i <= n(dp[v]表示不用面值为w[i]的货币,dp[v - w[i]]表示用面值为w[i]的货币)。
边界:dp[v] = 0 (1 <= v <= N), dp[0] = 1。

#include <cstdio>
#include <algorithm>
using namespace std;const int maxn = 30;
const int maxv = 100010;long long w[maxn], dp[maxv];int main() {int n, N;while (~scanf("%d %d", &n, &N)) {for (int i = 1; i <= n; ++i) {scanf("%lld", &w[i]);}fill(dp, dp + N + 1, 0);dp[0] = 1; //面值为0时有且只有一种方案for (int i = 1; i <= n; ++i) {for (int v = w[i]; v <= N; ++v) {dp[v] = dp[v] + dp[v - w[i]];}}printf("%lld\n", dp[N]);}
}

问题 C: 货币系统相关推荐

  1. [NC21228]货币系统

    题解:若存在一个货币系统的简化拥有与原货币系统不同的货币,先讨论只多出一种货币的情况,假设多出来的是A,那么x*A必然可以被原货币系统表示(x表示大素数),也就是说原货币系统中必然有A的约数B,添加A ...

  2. 洛谷P1474 [USACO 2.3]货币系统 Money Systems [2017年4月计划 动态规划04]

    P1474 货币系统 Money Systems 题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1 ...

  3. USACO 2.3 货币系统(背包/生成函数)

    Description 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统. [In their own rebellious way],他们对货币的数值感到好奇. 传统地,一个货币系统是由 ...

  4. Codeup-问题 C: 货币系统

    题目描述 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统. [In their own rebellious way],,他们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10 ...

  5. 牛客网【每日一题】5月27日题目精讲 货币系统

    链接: 文章目录 题目描述 题解: 代码: 题目描述 在网友的国度中共有n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张.为了方便,我们把货币种数为n.面额数组为a[1 ...

  6. 货币系统(信息学奥数一本通-T12973)

    [题目描述] 给你一个n种面值的货币系统,求组成面值为m的货币有多少种方案. [输入] 第一行为n和m. [输出] 一行,方案数. [输入样例] 3 10        //3种面值组成面值为10的方 ...

  7. DP学习之USACO货币系统

    Description 母牛们不但创建了他们自己的政府而且选择了建立了自己的货币系统.  [In their own rebellious way],,他们对货币的数值感到好奇.  传统地,一个货币系 ...

  8. 信息学奥赛一本通 1273:【例9.17】货币系统

    [题目链接] ybt 1273:[例9.17]货币系统 注:题目中0<n≤1000<n\le 1000<n≤100,0<m≤100000<m\le 100000<m ...

  9. 一本通 1273:货币系统

    题目描述] 给你一个n种面值的货币系统,求组成面值为m的货币有多少种方案. [输入] 第一行为n和m. [输出] 一行,方案数. [输入样例] 3 10 //3种面值组成面值为10的方案 1 //面值 ...

  10. 1273:【例9.17】货币系统

    时间限制: 1000 ms         内存限制: 65536 KB [题目描述] 给你一个n种面值的货币系统,求组成面值为m的货币有多少种方案. [输入] 第一行为n和m. [输出] 一行,方案 ...

最新文章

  1. python-scrapy爬虫框架
  2. mysql sqlite 性能优化_MySQL和Sqlite3性能测试
  3. TopicDeletionManager分析
  4. EDLines: A real-time line segment detector with a false detection control
  5. 浅谈html的语义化和一些简单优化,浅谈HTML的语义化和一些简单优化
  6. Bailian3754 字符环【字符串】
  7. linux系统虚拟机gcc下载,Linux(Ubuntu)虚拟机安装GCC编译器
  8. 全网最!详!细!tarjan算法讲解
  9. C++程序设计原理与实践(第二版)思考题答案
  10. EXCEL常用函数之统计函数
  11. java word 添加图片_java – 在word文档中插入图片
  12. python聊天机器人_用 Python 实现聊天机器人
  13. python量化策略——多均值-趋势-股债轮动-策略
  14. 软考信息系统监理师:2016年4月22日作业
  15. 模板模式--servlet模板模式的应用
  16. MySQL8.0.15安装教程(Windows)
  17. logback应用日志格式参考
  18. 文件粉碎机 v4.38 官方
  19. 从loser到产品大牛,你经历的我都经历了
  20. 缩放动画 ScaleAnimation 总结

热门文章

  1. 解决google play三件套无法连接到互联网、保护机制认证、商店无法进入等常见问题
  2. 多旋翼飞行器设计与控制(三)—— 机架设计
  3. 【数据产品案例】阿里生意参谋-竞争情报
  4. 针对python Gui初学者,一个极致简陋的gui,有空再补充
  5. taobao.top.oaid.client.decrypt( 端侧OAID解密 )
  6. kubernetes(k8s)——使用教程
  7. MySQL燕十八老师课程笔记:第九课:having筛选
  8. ACM数论基础:同余定理、欧拉定理、互质、阶与原根
  9. Mac 环境下 Java JDK 的安装与环境变量配置详解(已完美解决)
  10. keypad(键盘矩阵)指南