题目大意:有5中类型的硬币:1分,5分,10分,25分和50分,现在给你一定数额的金钱n(以分为单位),让你计算有多少中方法可以将这个数额的钱换成硬币,不同次序算同一种,如1,1,5和1,5,1算一种。

  硬币兑换问题,经典DP。可以dp[i]保存换i数额的硬币兑换方法数,如果用dp[i] += dp[i-coin]的递推公式的话计算出的是考虑顺序的兑换方法数,所以分五次转移,这样就可以避免重复。理解的不是太清楚,个人感觉就是构造时按照大小顺序先后构造,只考虑1,1,5的方案,不会计算1,5,1和5,1,1这样的方案。

 1 #include <cstdio>
 2 #include <cstring>
 3 #define MAXN 7490
 4
 5 int dp[MAXN];
 6 const int coin[5] = {1, 5, 10, 25, 50};
 7
 8 int main()
 9 {
10 #ifdef LOCAL
11     freopen("in", "r", stdin);
12 #endif
13     memset(dp, 0, sizeof(dp));
14     dp[0] = 1;
15     for (int k = 0; k < 5; k++)
16         for (int i = 1; i < MAXN; i++)
17             if (i >= coin[k])
18                 dp[i] += dp[i-coin[k]];
19     int n;
20     while (scanf("%d", &n) != EOF)
21         printf("%d\n", dp[n]);
22     return 0;
23 }

View Code

转载于:https://www.cnblogs.com/xiaobaibuhei/p/3284552.html

UVa 674 - Coin Change相关推荐

  1. uva 674 Coin Change 换钱币【完全背包】

    题目链接:https://vjudge.net/contest/59424#problem/A 题目大意: 有5种硬币, 面值分别为1.5.10.25.50,现在给出金额,问可以用多少种方式组成该面值 ...

  2. UVA 674 Coin Change ,Commence

    记忆化搜索,初期.个人感觉从DFS的角度理解DP状态更好一些 #include <map> #include <set> #include <list> #incl ...

  3. Lightoj 1231 - Coin Change (I) (裸裸的多重背包)

    题目链接: Lightoj  1231 - Coin Change (I) 题目描述: 就是有n种硬币,每种硬币有两个属性(价值,数目).问用给定的硬币组成K面值,有多少种方案? 解题思路: 赤果果的 ...

  4. C++coin change 硬币找零(附完整源码)

    coin change 硬币找零 coin change 硬币找零算法的完整源码(定义,实现,main函数测试) coin change 硬币找零算法的完整源码(定义,实现,main函数测试) #in ...

  5. 利用动态规划(DP)解决 Coin Change 问题

    问题来源 这是Hackerrank上的一个比较有意思的问题,详见下面的链接: https://www.hackerrank.com/challenges/ctci-coin-change 问题简述 给 ...

  6. hdu2069(Coin Change)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Coin Change Time Limit: 1000/1000 MS (Java/Other ...

  7. LeetCode 518 Coin Change 2 (python)

    目录 LeetCode 518 Coin Change 2 (python) Code 欢迎一起来参与leetcode刷题项目 LeetCode 518 Coin Change 2 (python) ...

  8. Coin Change【硬币找零】

    一.题目 英文:Coin Change 中文:硬币找零 二.内容要求 英文:You are given coins of different denominations and a total amo ...

  9. Coin Change

    题目 Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and 1-cent. We want to mak ...

  10. LeetCode Coin Change(动态规划)

    问题:给定不同面额的硬币coins和一个总金额amount,求凑成总金额所需的最少硬币个数 思路:第一种方法使用递归法,枚举x使用第coinIndex个硬币的amount/coins[coinInde ...

最新文章

  1. java uv实例_Java注解的实际应用案例讲解
  2. 用 Windows API “GetAdaptersInfo” 获取 MAC 时遇到的问题
  3. get方式乱码及MAC异常
  4. php中队列控制的方法,学习猿地-php 队列的实现方法
  5. java 上溯_java中Instrument的上溯造型
  6. 从豌豆荚百度撕逼中学作文
  7. AttributeError: module 'socketio' has no attribute 'Server'
  8. Windows核心编程_静态编译和动态编译的区别
  9. 基于深度极限学习机DELM的回归预测
  10. 原生指针auto_ptr的用法
  11. 无机金属专业里有计算机课吗,无机非金属材料工程专业课程有不少
  12. java 群发求职邮件
  13. Ubuntu虚拟机下载(清华大学开源软件镜像源)
  14. 自定义Unity调色板
  15. Lightly IDE 使用评测
  16. HaiBox-E边缘计算盒子怎么样,关于HaiBox-E边缘计算盒子的评析
  17. Qt编译过程中报错误“multiple definition of ‘‘”
  18. WordPress总裁CeoMax主题模板源码3.9.1无需授权
  19. ccf 201612-3 权限查询(100分)
  20. 【区块链 | Solidity】Solidity开发教程:用Web3.js构建第一个Dapp

热门文章

  1. 排序算法专题-冒泡排序
  2. 【LeetCode】【数组】题号:*289,生命游戏
  3. 高分四号数据计算表观反射率
  4. DasViewer加载大疆智图、CC等三维模型无空间坐标的解决方法
  5. 自定义RatingBar
  6. 狂神说ElasitcSearch笔记(一)
  7. Android ViewFlipper源码分析
  8. 嵌入式linux寄存器移位寻址,嵌入式系统及应用》 (32+16)教学大纲
  9. python 操作进程_python进程简单操作
  10. 再见,2016,你好,2017