poj 2818 Making Change 枚举

来源:互联网 发布:mysql自定义排序规则 编辑:程序博客网 时间:2024/05/21 09:57
//poj 2818//sep9include <iostream>using namespace std;int Q,D,N,P,C;struct NODE{int a,b,c,d;};pair<int,NODE> mymin(pair<int,NODE> x,pair<int,NODE> y){if(x.first<y.first) return x;return y;}void solve(){NODE x;pair<int,NODE> ans=make_pair(INT_MAX,x);for(int a=Q;a>=0;--a)for(int b=D;b>=0;--b)for(int c=N;c>=0;--c)for(int d=P;d>=0;--d){if(C==a*25+b*10+c*5+d){int sum=a+b+c+d;NODE tmp;tmp.a=a,tmp.b=b,tmp.c=c,tmp.d=d;ans=mymin(ans,make_pair(sum,tmp));}}if(ans.first==INT_MAX)puts("Cannot dispense the desired amount.");elseprintf("Dispense %d quarters, %d dimes, %d nickels, and %d pennies.\n",ans.second.a,ans.second.b,ans.second.c,ans.second.d);}int main(){while(scanf("%d%d%d%d%d",&Q,&D,&N,&P,&C)==5){if(Q+D+N+P+C==0) break;solve();}return 0;} 

0 0
原创粉丝点击