hdu 2617(水)

来源:互联网 发布:caxa制造工程师软件 编辑:程序博客网 时间:2024/05/16 14:47

点击打开链接


题意:

给你一个字符串求其中‘happy’出现的个数。。。


因为happy中的四个字符有先后关系,所以a的数目小于等于y的数目,p的数目小于a的二倍,y的数目小于p的二分之一的时候,才可以加上当前位置的。

自己刚开始写了一个很暴力的程序,结果也ac了就是600多ms。




#include"stdio.h"#include"string.h"#define N 10005int min(int a,int b){return a<b?a:b;}int main(){int i;int ans;int h,a,p,y;char s[N];while(gets(s)){h=a=p=y=0;for(i=0;s[i];i++){if(s[i]=='h')h++;else if(s[i]=='a'&&a<h)a++;else if(s[i]=='p'&&p<2*a)p++;else if(s[i]=='y'&&y<(p/2))y++;}ans=min(min(h,a),min(p,y));printf("%d\n",ans);}return 0;}


原创粉丝点击