UVa 147 Dollars(硬币转换)
2015-12-21 16:27
357 查看
题目大意:给出五种硬币,价值分别为 1,5,10,25,50,。当给出一个价值时,求出能够组合的种数(每种硬币可以用无限次)。
思路:完全背包, dp[i][j]表示总数 i 能够被表示的种数。状态转移方程为 dp[i][j] = dp[i-k*v[j]][j-1] (k = 0,1,2,3...)。
C++ 代码如下:
思路:完全背包, dp[i][j]表示总数 i 能够被表示的种数。状态转移方程为 dp[i][j] = dp[i-k*v[j]][j-1] (k = 0,1,2,3...)。
C++ 代码如下:
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> using namespace std; int v[6] = {0,1,5,10,25,50}; int main(){ int i,j,k,t,n,dp[7490][6]; memset(dp,0,sizeof(dp)); for(i=0; i<6; i++) dp[0][i] = 1; for(i=1; i<7490; i++){ for(j=1; j<6; j++){ k = 0; t = i - k*v[j]; while(t >= 0){ dp[i][j] += dp[t][j-1]; k ++; t = i - k*v[j]; } } } while(scanf("%d",&n) != EOF){ cout << dp [5] << endl; } return 0; }
相关文章推荐
- 关于8杯酒只有一杯酒有毒,每个人是否中毒只能化验一次,至少需要几个人辨识。
- 关于nodejs连接多个mongodb表
- mongodb操作汇总
- hive.Hadoop入门
- 固体的弹性性质
- 什么是消息队列(Message Queue)?
- Yocto开发笔记之《工具使用:TFTP & NFS & SSH》(QQ交流群:519230208)
- 多线程同步
- PCL中将PCD文件转换成PLY文件
- 用sqoop导入大表的问题
- python模拟登录新浪微博自动获得调用新浪api所需的code
- python模拟登录新浪微博自动获得调用新浪api所需的code
- 用python不解压的读取bz2文件和gz文件
- 资料目录2
- 理解SQL的四种连接-左外连接、右外连接、内连接、全连接
- 动态库和静态库
- 动态库和静态库
- 【Testin实验室】MoiMark安卓中国终端体验性能排行榜(11月报)
- java四舍五入的取舍
- iOS【UIKit-iOS 事件分发机制(1)hitTest方法】