HDU 1288 Hat's Tea (贪心)
来源:互联网 发布:网络运维与管理 编辑:程序博客网 时间:2024/05/05 10:46
尽可能用多的硬币买茶
贪心:
首先判断一些肯定不可能的条件
然后贪心一角硬币,全部使用一角硬币。如果剩下的硬币不是5的倍数。减少一角的使用,使剩下的硬币成为5的倍数
然后贪心五角硬币,如果剩下的硬币不是10的倍数,减少一个五角的使用,如果五角的使用个数为0,减少5个一角的使用个数
如果没有5个一角的,则不满足
整体思路就是这样,注意一些if
#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<cmath>#include<map>using namespace std;int main(){int sum,yi,wu,shi;while(cin>>sum>>yi>>wu>>shi){if(!sum&&!yi&&!wu&&!shi) break;if(yi+5*wu+10*shi<sum||sum%5>yi||sum%10>5*wu+yi){cout<<"Hat cannot buy tea."<<endl; continue;}if(yi>=sum) printf("%d YiJiao, 0 WuJiao, and 0 ShiJiao\n",sum);else{int fz=sum;int x=yi,y=0,z=0;fz-=yi;int num=fz%5;if(x>=(5-num)&&num){ x=x-(5-num); fz=fz+(5-num);}y=min(wu,fz/5);fz-=y*5;if(fz<0){cout<<"Hat cannot buy tea."<<endl; break;}if(fz%10==5){if(y>0) y--;else x-=5;if(x<0){cout<<"Hat cannot buy tea."<<endl; break;}fz+=5;}z=fz/10;printf("%d YiJiao, %d WuJiao, and %d ShiJiao\n",x,y,z);}} return 0; }
阅读全文
1 0
- HDU 1288 Hat's Tea (贪心)
- HDU 1288 Hat's Tea
- hdu 1288 Hat's Tea
- hdu 1288Hat's Tea
- hdu 1288 Hat's Tea
- HDU1288--Hat's Tea HDU(105)
- Hat's Tea
- [HDU 5881] Tea (贪心)
- hdoj.1288 Hat's Tea【暴力+水题】 2015/08/05
- HDU 5881 Tea(贪心构造)
- hdu 5881 Tea 贪心
- hdu Hat‘s Words(字典树)
- hdu--1247--Hat’s Words(一般)
- HDU 1247-Hat’s Words(set)
- HDU 1247 Hat's words(Trie)
- HDU 1250 Hat's Fibonacci(高精度)
- hdu 1247 Hat’s Words(Trie)
- HDU 1250 Hat's Fibonacci()
- 修改tomcat默认的编码方式
- 215. Kth Largest Element in an Array
- bzoj4327
- .bat批处理学习
- flask代码段
- HDU 1288 Hat's Tea (贪心)
- json数据解析
- RAFT(1)
- requests https访问错误SSLError: certificate verify failed 及InsecureRequestWarning处理办法
- 解决:eclipse中直接输入http://localhost:8080报404错误但是直接输入http://localhost:8080/项目名称可以进去
- java版md5加密
- 习题5的第3小题
- 设计算法把一个十进制的整数转换成二至九进制之间的任意进制输出
- Fragment嵌套问题Fragment一个ViewPager展示子Fragment