首页 > 代码库 > HDU 4639 Hehe(字符串处理,斐波纳契数列,找规律)
HDU 4639 Hehe(字符串处理,斐波纳契数列,找规律)
题目
//每次for循环的时候总是会忘记最后一段,真是白痴。。。。
//连续的he的个数 种数//0 1//1 1//2 2//3 3//4 5//5 8//…… ……//斐波纳契数列//不连续的就用相乘(组合数)好了#include<iostream>#include<algorithm>#include<string>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <math.h>using namespace std;#define ll __int64//貌似刚刚数组开小了int fi[6000];void fiinit(){ fi[0]=1; fi[1]=1; for(int i=2;i<6000;i++) { fi[i]=(fi[i-1]+fi[i-2])%10007; }}int main(){ fiinit(); int n; scanf("%d",&n); for(int id=1;id<=n;id++) { char s[10100]; scanf("%s",s); int len=strlen(s); int he=0; int ans=1; for(int i=0;i<len;) { if(s[i]==‘h‘&&s[i+1]==‘e‘) { he++; i=i+2; } else { if(he>1) ans=(ans*fi[he])%10007; i++; he=0; } } //如果最后那个是he结尾,就要加上最后一段: if(he>1) ans=(ans*fi[he])%10007; printf("Case %d: %d\n",id,ans); } return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。