uva 147 Dollars(DP)
来源:互联网 发布:java tomcat作用 编辑:程序博客网 时间:2024/05/22 16:00
uva 147 Dollars
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.202.000.00
Sample output
0.20 4 2.00 293
题目大意:给出一个金额数,问用11种面值的货币,有几种组成方式。
解题思路:注意对题目给出的金额数的处理,还有输出的规范要看清。
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<algorithm>using namespace std;int coin[11] = {10000, 5000, 2000, 1000, 500, 200, 100, 50, 20, 10, 5};long long dp[80005];int main() {int a, b;while (scanf("%d.%d", &a, &b) == 2) {if (a == 0 && b == 0) break;int n = a * 100 + b;memset(dp, 0, sizeof(dp));dp[0] = 1;for (int i = 10; i >= 0; i--) {for (int j = coin[i]; j <= n; j++) {if (dp[j - coin[i]]) {dp[j] += dp[j - coin[i]];}}}printf("%3d.%.2d%17.lld\n", a, b, dp[n]);}return 0;}
- Uva 147-Dollars(DP)
- uva 147 Dollars(DP)
- uva 147 Dollars (dp)
- Dollars - UVa 147 dp
- UVA 147 Dollars (DP)
- uva--147Dollars +dp
- UVa 147 Dollars(DP完全背包)
- UVa 147 Dollars(DP完全背包)
- uva 147 Dollars 简单dp
- uva 147 Dollars (dp + 完全背包)
- UVA 147 Dollars 基础DP(水)
- UVA 147 Dollars (子集和问题 & DP)
- Dollars+uva+简单dp
- UVA 147- Dollars(dp之子集和问题)
- uva 147 Dollars(完全背包)
- UVA - 147 - Dollars(动态规划)
- UVA - 147 Dollars(完全背包)
- UVA - 147 - Dollars (动态规划)
- UVa 10491 - Cows and Cars(概率)
- linux内核空间与用户空间信息交互方法
- ACM-不同进制下的加法
- week1note
- uva 590 最优决策(DP)
- uva 147 Dollars(DP)
- C/C++经典书籍推荐
- 十二、oc中autorelease的基本使用
- 新浪SAE ———— JavaWeb项目部署教程<数据库连接2> (源码)
- C++之多线程编程-三
- $.ajax异步操作的get或post提交
- Java编程思想第七章多态
- ArcGIS Runtime SDK for iOS开发之创建离线地图
- IP报文段的长度选择