zoukankan      html  css  js  c++  java
  • hdu 4639 Hehe

    大意:给你一个字符串,字符串中的hehe可以换成wqnmlgb,问有几种换发?

    思路:

    1、由分析不难得出连续的he出现的时候f[n]=f[n-1]+f[n-2]。

    2、扫描字符串,利用上面算出的f[n]对字符串中出现的hehe进行计算即可

    3、各个不连续的hehe串的f[]乘起来就得到了。

    代码:

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #define N 10100
    #define M 5050
    #define MOD 10007
    using namespace std;
    int main ()
    {
        int t, i, j = 1;
        int len, sum, num;
        int a[M];
        char b[N];
        a[0] = a[1] = 1;
        for (i=2; i<M; i++)
            a[i] = (a[i-1] + a[i-2]) % MOD;
        scanf ("%d", &t);
        while (t --)
        {
            scanf ("%s", b);
            num = 0;
            sum = 1;
            len = strlen (b);
            for (i=0; i<len-1; i++)
                if (b[i]=='h' && b[i+1]=='e')
                    num ++, i++;
                else
                {
                    sum = sum * a[num] % MOD;
                    num = 0;
                }
                if ( num )
                    sum = sum * a[num] % MOD;
                printf ("Case %d: %d
    ", j++, sum);
        }
        return 0;
    }
    本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    开课博客
    今天干了啥
    今天干了啥
    今天干了啥
    今天干了啥
    今天干了啥
    四则运算
    冲刺二(2)
    用户体验评价
    冲刺二(1)
  • 原文地址:https://www.cnblogs.com/alihenaixiao/p/3889615.html
Copyright © 2011-2022 走看看