您的位置:首页 > 其它

hdu 4639 Hehe(斐波那契)

2015-10-28 21:56 316 查看
题目链接:hdu 4639 Hehe

解题思路

连续i个he的替换总数为斐波那契数的i+1项,剩下的乘法原理。

代码

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;
const int maxn = 10086;
const int mod  = 10007;

int N, f[maxn + 5];
char str[maxn + 5];

int solve () {
int ret = 1, c = 0;
N = strlen(str);
for (int i = 0; i < N; i++) {
if (str[i] == 'h' && str[i+1] == 'e')
c++, i++;
else {
ret = ret * f[c] % mod;
c = 0;
}
}
return ret * f[c] % mod;
}

int main () {
f[0] = f[1] = 1, f[2] = 2;
for (int i = 3; i <= maxn; i++) f[i] = (f[i-1] + f[i-2]) % mod;

int cas;
scanf("%d", &cas);
for (int kcas = 1; kcas <= cas; kcas++) {
scanf("%s", str);
printf("Case %d: %d\n", kcas, solve());
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: