HDU1288--Hat's Tea HDU(105)

来源:互联网 发布:java怎么写主控台 编辑:程序博客网 时间:2024/05/22 00:15
#pragma warning(disable:4786)#include<iostream>#include<algorithm>#include<cmath>#include<stdio.h>#include<time.h>#include<stdlib.h>#include<queue>#include<set>#include<vector>#include<string>#include<ctime>#include<string.h>using namespace std;#define pi acos(-1.0)//#define LL __int64typedef long long LL;#define INF 0x7fffffffffffffff#define bug puts("hear!")#define inf 0x7fffffff#define eps 1e-10#define FRE freopen("in.txt","r",stdin)#define E exp(1.0)#define mod 1000000007int main(){int n,x1,x5,x10;int a,b,c;while(cin>>n>>x1>>x5>>x10&&(n+x1+x5+x10)){a=b=c=0;if(n%5>x1){cout<<"Hat cannot buy tea."<<endl;continue;}a=n%5;n-=a;x1-=a;if(n<=x1){a=n+a;printf("%d YiJiao, %d WuJiao, and %d ShiJiao\n",a,b,c);continue;}x1/=5;n-=5*x1;a+=5*x1;if(n<=5*x5){b+=n/5;printf("%d YiJiao, %d WuJiao, and %d ShiJiao\n",a,b,c);continue;}n-=5*x5;b=x5;if(n%10==0){if(n<=10*x10){c+=n/10;printf("%d YiJiao, %d WuJiao, and %d ShiJiao\n",a,b,c);continue;}else{cout<<"Hat cannot buy tea."<<endl;continue;}}else{if(b>0)b--;else{if(a>=5)a-=5;else{cout<<"Hat cannot buy tea."<<endl;continue;}}n+=5;if(n<=10*x10){c=n/10;printf("%d YiJiao, %d WuJiao, and %d ShiJiao\n",a,b,c);continue;}else{cout<<"Hat cannot buy tea."<<endl;continue;}}}return 0;}

第一次想直接三次循环,但是发现TLE了。

索性就直接判断1,5,10分钱各多少个吧..............虽然麻烦了点。

原创粉丝点击