统计出字符串中共能拼凑出多少happy。happy相对次序不变。
#include<cstdio> #include<iostream> #include<string.h> using namespace std; int main() { string ss; int a[5]; int sum; while(getline(cin,ss)) { sum=0; memset(a,0,sizeof(a)); for(int i=0;i<ss.size();i++) { if(ss[i]=='h') a[0]++; else if(ss[i]=='a'&&a[0]&&a[1]<a[0]) a[1]++; else if(ss[i]=='p'&&a[0]&&a[1]&&a[2]<a[1]*2) a[2]++; else if(ss[i]=='y'&&a[0]&&a[1]&&a[2]>1) { a[0]--,a[1]--,a[2]-=2; sum++; } } cout<<sum<<endl; } return 0; }