uva357
来源:互联网 发布:微软鼠标驱动 mac 编辑:程序博客网 时间:2024/06/02 01:28
题目大意:
有是一种不同面值的钱币,求利用这些钱币有几种方法可以给出指定的价钱。
思路:
动态规划 有类似题 要扩大100倍就可以避免小数计算
数组开太小WA了一次。注意要用long long
代码:
#include <iostream>using namespace std;#include <stdio.h>#include <cstring>long long dp[30010][15];int coins[11] = {5,10,20,50,100,200,500,1000,2000,5000,10000};long long solve(int i,int sum) { if(dp[sum][i] != -1) return dp[sum][i]; dp[sum][i] = 0; for(int j = i; j < 11 && sum >= coins[j];j++) dp[sum][i] += solve(j,sum - coins[j]); return dp[sum][i];}int main() { double n; memset(dp,-1,sizeof(dp)); while(scanf("%lf",&n) != EOF) { if(n == 0.00) break; int t = (int )(n * 100 + 0.5);//注意精度 for(int i = 0 ; i < 11; i++) dp[0][i] = 1; printf("%6.2f%17lld\n",n,solve(0,t)); } return 0;}
0 0
- uva357
- uva357
- uva357
- uva357
- uva357 Let Me Count The Ways
- [动态规划]UVA357 - Let Me Count The Ways
- uva357 - Let Me Count The Ways(动规,母函数)
- UVa357 Let Me Count The Ways DP多阶段决策问题
- ubuntu15.10安装wireshark
- 前端组件化框架之路
- okhttp请求Demo
- 【Android基础学习】ListView 显示(数据变化后滚动到)最底部。
- SQLite 3 导入导出成txt或csv操作
- uva357
- Android开发之SharedPreferences的使用
- curl 使用案例
- 自认为比较经典的shell程序
- 数据字典的操作
- 删除数据库表内重复数据,只保存一条
- iOS 应用状态恢复
- 《Cocos2d-x游戏开发实战精解》学习笔记2--在Cocos2d-x中显示一行文字
- Linux C socket 编程常用函数