toj2273 Making Change
来源:互联网 发布:php ll 和 优先级 编辑:程序博客网 时间:2024/05/17 23:14
题目链接:http://acm.tju.edu.cn/toj/showp.php?pid=2273
题目大意:四种面值 25 10 5 1 并给定各个面值的数目 和钱的总数,问把钱兑换成上述各种面值的硬币所需的最少硬币数量。
思路:DFS,分4层,每层逐个放入硬币后,递归到下一层,当递归到最后一层时,判断能否完成兑换,若能完成 就把硬币数量的最小值替换掉
代码:
#include <iostream>
using namespace std;
int m[5],cnt,res[5],num[5],C,MIN;
int c[]={25,10,5,1};
void dfs(int d)
{
int i,sum,n;
if(d>3)
{
for(i=sum=n=0;i<4;i++) //n为硬币总数量 sum为钱的总数
{
sum+=c[i]*num[i];
n+=num[i];
}
if(sum==C)
{
if(n<MIN)
{
for(i=0;i<4;i++)
res[i] = num[i]; //res 各种硬币数量
MIN = n; //最小硬币数量
}
cnt++; //分配方法个数
}
}
else
{
for(i=0;i<=m[d];i++)
{
num[d] = i;
dfs(d+1);
}
}
}
int main()
{
while(cin>>m[0]>>m[1]>>m[2]>>m[3]>>C && m[0]||m[1]||m[2]||m[3]||C)
{
MIN = m[0]+m[1]+m[2]+m[3]+1;
cnt = 0;
dfs(0);
if(cnt==0)
cout<<"Cannot dispense the desired amount."<<endl;
else
cout<<"Dispense "<<res[0]<<" quarters, "<<res[1]<<" dimes, "<<res[2]<<" nickels, and "<<res[3]<<" pennies."<<endl;
}
return 0;
}
- toj2273 Making Change
- TOJ2273 Making Change ----DFS
- Making Change
- fjnu 1195 Making Change
- Change-making problem
- poj2818 - Making Change
- DFS 2273. Making Change
- Making Change UVA, 166
- uva 166 Making Change
- uva 166Making Change
- POJ 2818 : Making Change - dfs
- poj 2818 Making Change 枚举
- Python checkio "Making Change"解决方案
- TOJ 2273 POJ 2818 Making Change DFS C语言
- GYM 100488 G.Change-making Problem(贪心)
- 动态规划 (Dynamic Programming) 之 背包问题合辑 (Knapsack, Subset Sum, Partition and change making problem )
- 动态规划 (Dynamic Programming) 之 背包问题合辑 (Knapsack, Subset Sum, Partition and change making problem )
- change
- hdu 4750 Count The Pairs(最小生成树的应用,4级)
- Basic Guide on IPTables (Linux Firewall) Tips / Commands
- Java interrupt
- C#中int与Int32关系揭秘
- Block SSH Server Attacks (Brute Force Attacks) Using DenyHosts
- toj2273 Making Change
- spring security3.x学习(19)_tomcat的SSL
- 【leetcode】Remove Duplicates from Sorted List
- 冯·诺依曼计算机的特点
- C#中HashTable的用法
- spring security3.x学习(20)_初探authorize标签和第四个例子
- android中字符串资源的使用
- 25 Useful Basic Commands of APT-GET and APT-CACHE for Package Management
- UVA 357 Let Me Count The Ways dp水题跟