找规律。。。。Fib数列的应用。。。
简单题。
/*
字符串
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<map>
#include<stack>
#include<set>
#include<math.h>
using namespace std;
typedef long long int64;
//typedef __int64 int64;
typedef pair<int64,int64> PII;
#define MP(a,b) make_pair((a),(b))
const int maxn = 10090;
const int mod = 10007;
const int inf = 0x7fffffff;
const double pi=acos(-1.0);
const double eps = 1e-8;
int Fib[ maxn ];
void init(){
Fib[ 0 ] = 1;
Fib[ 1 ] = 1;
for( int i=2;i<maxn;i++ ){
Fib[i] = Fib[i-1]+Fib[i-2];
Fib[i] %= mod;
}
}
int main(){
init();
int Case = 1;
int T;
scanf("%d",&T);
while( T-- ){
char s[ maxn ];
printf("Case %d: ",Case++);
int ans = 1;
scanf("%s",s);
int len = strlen(s);
for( int i=0;i<len;i++ ){
int cnt = 0;
if( i+1<len&&s[i]=='h'&&s[i+1]=='e' ){
//cnt = 1;
int Index = i;
bool f = false;
while( Index+1<len ){
if( s[Index]=='h'&&s[Index+1]=='e' ){
cnt ++ ;
Index += 2;
i = Index;
}
else{
if( cnt ) i--;
if( cnt ) ans = ans*Fib[ cnt ]%mod;
f = true;
break;
}
}
if( f==false&&cnt ) ans = ans*Fib[ cnt ]%mod;
}
}
printf("%d\n",max(ans%mod,1));
}
return 0;
}
分享到:
相关推荐
在竞赛编程中,字符串问题可能涉及到KMP算法、Manacher's Algorithm(曼哈顿算法)或者Rabin-Karp滚动哈希等技术,用于高效地处理字符串的匹配和操作。 4. **动态规划(DP)**:动态规划是一种解决问题的系统方法,...
在HDU OnlineJudge中,题目通常涉及了算法竞赛中常见的问题类型,如图论、动态规划、贪心算法、排序与搜索、字符串处理、数学计算等。解题报告中的每一道题目都提供了详尽的解题思路,旨在帮助参赛者理解和掌握各种...
4. **字符串处理**:如KMP算法、Manacher's Algorithm、后缀数组、Z-Algorithm等,常用于查找模式匹配和文本处理。 5. **数论**:包括最大公约数(GCD)、最小公倍数(LCM)、模逆、线性同余方程、素数判断等。 6. **...
该标题表明了问题的主题是字符串题目记录,可能来自于不同的 OJ 平台,如 POJ、HDU、SPOJ、SGU、HUST 和 FZU 等。 描述:上面可能有 POJ 的题目,HDU 的题目,SPOJ 的题目,SGU 的题目,HUST 上的题目,FZU 上的...
字符串处理是 ACM HDU 题目分类中的一大类,例如,1020 简单的字符串处理;1048 简单字符串处理;1062 简单字符串处理;1073 字符串处理 等等。 其他 除了以上分类外,ACM HDU 题目分类还包括其他一些分类,例如,...
HDU 2082题则是字符串操作的另一种形式,这里的关键是字符串的重组。程序首先读取测试用例的数量,随后对于每个测试用例,读取一个字符串,并将其后半部分与前半部分对调,从而形成一个新的字符串。这样的问题不仅仅...
hdu 5007 Post Robot 字符串枚举。 暴力一下就可以了。
5. **转换为字符串**:将结果数组中的数字转换为字符形式,并存储到最终的字符串数组中。 #### 总结 通过本题的解决过程,我们不仅学会了如何编写高精度加法算法,还了解了如何将其应用到实际问题中。虽然题目提到...
- HDU1403最长公共子串:题目要求找到两个给定字符串的最长公共子串。提供的源代码中使用了后缀数组(Suffix Array)和LCP(Longest Common Prefix)的概念来解决这个问题。后缀数组是所有字符串后缀排序的结果,而LCP...
### Hdu1002:字符串加法 这是一道关于字符串操作和大数加法的题目。由于整型变量可能不足以存储非常大的数字,因此使用字符串来表示大数,通过字符数组进行位运算实现加法。代码中首先将输入的两个字符串转换成...
3. **字符串处理**:String类是Java中处理文本的重要工具,涉及字符串的连接、查找、替换、分割等方法。 4. **输入输出流**:如Scanner类用于从标准输入读取数据,FileReader/Writer用于文件操作,BufferedReader/...
4. **字符串处理**:KMP算法、Manacher's Algorithm、Rabin-Karp算法等。 5. **数学应用**:组合数学、数论(质因数分解、模运算、欧几里得算法等)、概率论等。 6. **编码技巧**:IO优化(如scanf/printf代替cin/...
3. **字符串处理**:杭电ACM中的题目可能涉及到字符串匹配(KMP算法、Boyer-Moore算法)、编码解码、模式查找等问题,熟悉字符串操作是必备技能。 4. **数学应用**:很多ACM题目需要应用到基础数学知识,例如数论...
字符串处理题目如1020、1039等,主要考察选手对于字符串数据类型的理解和操作能力。这包括字符串匹配、分割、合并、排序等常见操作,以及更复杂的模式匹配和正则表达式应用。 综上所述,HDU ACM题目分类覆盖了广泛...
3. **字符串处理**:KMP、Boyer-Moore、Rabin-Karp等字符串匹配算法,以及字符串操作和模式匹配技巧。 4. **数学知识**:组合数学、离散数学、数论等,许多竞赛题目需要运用到这些数学原理。 5. **优化技巧**:...
这些代码可能涵盖了许多算法类型,包括但不限于排序、搜索、动态规划、图论、数学、字符串处理等。 学习这些代码可以帮助你了解不同的编程技巧和算法实现,例如: 1. **排序算法**:快速排序、归并排序、堆排序等...
3. **字符串处理**:字符串匹配(如KMP、Boyer-Moore等)、编码与解码、模式匹配等。在编程竞赛中,字符串问题常常出现,需要掌握一些高效处理字符串的技巧。 4. **数学知识**:组合数学、数论、概率论等。许多编程...
"yfndq2"可能是一个字符串处理或模式匹配的问题,可能用到了KMP、Boyer-Moore等字符串匹配算法。而"flymaidou"可能是涉及数值计算或数学推理的题目,需要理解和应用特定的数学公式或方法。 在学习这些源代码时,...
通过对输入数据的处理,程序能够判断出特定字符串“nogood”是否存在,并据此输出相应的结果。 #### 代码详解 ##### 结构体定义 ```c++ struct zuqiu { char b[108]; }; ``` 在本程序中定义了一个名为`zuqiu`的...
6. **字符串处理**:模式匹配、KMP算法、Manacher's Algorithm等。 7. **模拟法**:直接按照题目描述进行程序模拟,解决一些逻辑性较强的问题。 学习和理解ACM HDU的题解,不仅可以提升编程能力,还能帮助我们理解...