做这题一点也不HAPPY
http://acm.hdu.edu.cn/showproblem.php?pid=2617
happy这五个字母的相对位置不能改变;
我写完代码之后一直AC不了。最后对照ACM之家的解题报告才发现bug
代码如下:
#include<iostream>
using namespace std;
int main()
{
int a1,a3,b,a2,a4;
char a[10010];
while(gets(a))
{
a1=a2=a3=a4=b=0;
for(int i=0;a[i]!=0;i++)
{
if(a[i]=='h') a1++;
if(a[i]=='a')
{
if(a1)
{
a2++;a1--;
}
}
if(a[i]=='p')
{
if(a2)
{
b++;
if(b%2==0)
{
a3++;a2--;
}
}
/* 上面这段判断P的代码 我第一次写成:
if(a[i]=='p') { b++; if(b%2==0&&a2) { a3++;a2--; }
可以执行题目给的sample input 但是对于phapy这个输入就不能判断成功
} if(a[i]=='y') { if(a3) { a4++;a3--; } } else continue; } cout<<a4<<endl; } }