水题,发一下,凑数 (*^__^*)
统计一下每一部分的he数就好,规律是斐波那契数列,后来每一个部分相乘得解。
#include <iostream>
using namespace std;
int main()
{
int T,ans,f[5044],i,k,t,l,p=0;
char s[10087];
cin >> T;
f[1]=2;
f[2]=3;
for (i=3;i<=5043;i++)
{
f[i]=(f[i-1]+f[i-2])%10007;
}
f[0]=1;
while (T--)
{
ans=1;
cin >> s;
l=strlen(s);
k=0;
while (k<l)
{
t=0;
while (s[k]=='h'&&s[k+1]=='e')
{
k+=2;
t++;
}
k++;
if (t!=0)
ans=(ans*f[t-1])%10007;
}
p++;
cout << "Case " << p <<": " << ans << endl;
}
return 0;
}