hdu 1284 分硬币 && uva 147
2016-03-21 15:45
232 查看
#include<bits/stdc++.h> using namespace std; int main() { unsigned long long int dp[30005]; int money[]={10000,5000,2000,1000,500,200,100,50,20,10,5}; memset(dp,0,sizeof(dp)); dp[0]=1; //cout<<money[10]<<endl; for(int i=10;i>=0;i--) { for(int j=money[i];j<30005;j++) { dp[j]=dp[j-money[i]]+dp[j]; } } //cout<<dp[0]<<dp[5]<<dp[10]<<dp[15]<<endl; double n; //cin>>n; //cout<<dp[5]<<endl; //cout<<dp[10020]<<endl; int a,b; while((scanf("%d.%d",&a,&b))!=EOF&&a+b) { /* n=n*100; cout<<n; int m=n; printf("%6.2lf%17I64d\n",n/100,dp[m]);*/ int n=a*100+b;//cout<<n<<endl; double ans=n*1.0/100.0; printf("%6.2lf%17lld\n",ans,dp ); } return 0; }
View Code
[b]uva 147[/b]
Description
New Zealand currency consists of $100, $50, $20, $10, and $5 notes and $2, $1, 50c, 20c, 10c and 5c coins. Write a program that will determine, for any given amount, in how many ways that amount may be made up. Changing the order of listing does not increase the count. Thus 20c may be made up in 4 ways: 1
20c, 2
10c, 10c+2
5c, and 4
5c.
Input
Input will consist of a series of real numbers no greater than $300.00 each on a separate line. Each amount will be valid, that is will be a multiple of 5c. The file will be terminated by a line containing zero (0.00).Output
Output will consist of a line for each of the amounts in the input, each line consisting of the amount of money (with two decimal places and right justified in a field of width 6), followed by the number of ways in which that amount may be made up, right justified in a field of width 17.Sample input
0.20 2.00 0.00
Sample output
0.20 4 2.00 293
dp[j]=dp[j]+dp[j-i],j表示钱数,i表示价值。首先i=1,这样得到不同的钱数被全部分为1的硬币的兑换法,然后把大于2的数分解为 2+i,即2+i的钱分为一个2加第i个钱全部
为1的分法,这么递推下去。
相关文章推荐
- switch和if
- 大型网站开发技术书籍汇总
- AlertController工具类的封装,让AlertController变得更简单
- quartz配置串行
- 可变长模板
- 如何解决机器学习中数据不平衡问题
- android光滑绘图可变宽度笔
- 数据结构课设 打印学生选课清单 (Hash)
- 排序算法-C++
- hive 新增的聚合功能
- make: aarch64-linux-gnu-gcc: Command not found
- redis node 常用命令
- 《Linux内核设计与实现》第五章读书笔记
- C++实现静态顺序表的增删查改以及初始化
- VS2012将新建的源码文件的编码格式自动设置成UTF8
- 1.2. Exploring the Newly Created Project 探索新项目
- IO-1
- ResultMap和ResultType在使用中的区别
- 异步加载资源的loading界面
- 火星坐标系统