hdu4639Hehe

http://acm.hdu.edu.cn/showproblem.php?pid=4639

统计连续he的数量恰为斐波序列  不同块进行相乘

 1 #include <iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<algorithm>
 5 #include<stdlib.h>
 6 #define mod 10007
 7 using namespace std;
 8 char ss[11000];
 9 int f[11000];
10 int main()
11 {
12     int t,i,k,kk=0;
13     cin>>t;
14     f[1] = 1;f[2] = 2;
15     for(i = 3; i <= 10086 ; i++)
16     f[i] = (f[i-1]%mod+f[i-2]%mod)%mod;
17     while(t--)
18     {
19         cin>>ss;kk++;
20         k = strlen(ss);
21         int g = 0,s=1;
22         for(i = 0 ; i < k ;i++)
23         {
24             if((i+1)<k&&ss[i]=='h'&&ss[i+1]=='e')
25             {
26                 g++;
27                 i++;
28                 continue;
29             }
30             else if(g!=0)
31             {
32                 s=(s*f[g])%mod;
33                 g=0;
34             }
35         }
36         if(g)
37         s = (s*f[g])%mod;
38         printf("Case %d: ",kk);
39         cout<<s<<endl;
40     }
41     return 0;
42 }
View Code

 

posted @ 2013-08-04 12:38  _雨  阅读(174)  评论(0编辑  收藏  举报