hdu 4639 Hehe

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

每一段 "hehe..... " 相互独立  将每一段 "hehe..... "可以形成的种类 相乘

代码:

#include<iostream>

#include<cstdio>

#include<algorithm>

#include<string>

#include<cstring>

#include<cmath>

#include<set>

#include<vector>

#include<list>

using namespace std;



typedef long long ll;

typedef pair<double,double>ppd;

const double PI = acos(-1.);

const double eps = (1e-9);

const int MOD=10007;

const int N=5005;

char s[N];

int sum[N];

int main()

{

    //freopen("data.in","r",stdin);

    sum[0]=sum[1]=1;

    sum[2]=2;sum[3]=3;

    for(int i=4;i<N;++i)

    sum[i]=(sum[i-3]+sum[i-2]*2)%MOD;

    int T;

    scanf("%d",&T);

    for(int c=1;c<=T;++c)

    {

        scanf("%s",s);

        int n=strlen(s);

        int ans=1;

        int num=0;

        for(int i=0;i<n;++i)

        {

            if(i+1<n&&s[i]=='h'&&s[i+1]=='e')

            {++num;++i;}

            else

            {

                if(num>=2)

                ans=(ans*sum[num])%MOD;

                num=0;

            }

        }

        if(num>=2)

        ans=(ans*sum[num])%MOD;

        printf("Case %d: %d\n",c,ans);

    }

    return 0;

}

 

你可能感兴趣的:(HDU)