算法竞赛入门经典(刘汝佳)习题3-4 UVa455
2017-03-18 15:57
204 查看
dalao们好像30来行就解决了= =
//2017 3 1 P57 习题3-4 周期串 #include<stdio.h> #include<string.h> #define maxn 81 int main(void) { char str[maxn]; char temp[maxn]; memset(str, '\0', sizeof(str)); scanf("%s", str); int len = strlen(str);//用户输入字符长度len int res = 0;//周期 int count = 1;//统计周期出现次数 for(int i = 1;i < len;i++) { if(str[i] == str[0]) { res = i / count; int flag = 0;//判断变量 for(int j = 1;j < res;j++) { if(str[i + j] != str[j])//出现不同字符时,改变flag的值 { flag = 1; i += j; break; } } if(flag != 0)//不是一个周期 ,数据还原初始化 { res = 0; count = 1; } if(flag == 0)//是一个周期,次数+1 count++; } } //得到初步周期 if(res != 0)//判断最后一个周期是否也成立 { for(int j = len - res;j < len;j++) { if(str[j] != str[res - len + j]) { res = 0; break; } } } if(res == 0) printf("%d\n",len); if(res != 0) printf("%d\n",res); return 0; }
相关文章推荐
- 算法竞赛入门经典(刘汝佳)习题3-3 UVa1225
- 算法竞赛入门经典(刘汝佳)习题3-8 UVa202
- 算法竞赛入门经典(刘汝佳)习题3-5 UVa227
- 算法竞赛入门经典(刘汝佳)习题3-6 UVa232
- 习题2-5 分数化小数 (算法竞赛入门经典(第二版)刘汝佳 第二章 )
- 习题3-4 UVa455 Periodic Strings
- 章三习题4——UVA 455
- 算法竞赛入门经典(刘汝佳)习题3-1 UVa1585
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色UVa253
- 算法竞赛入门经典(第2版)习题3-9 子序列(All in All) Uva10340
- 刘汝佳《算法竞赛入门经典(第二版)》习题(九)
- 算法竞赛入门经典(刘汝佳)习题3-2 UVa1586
- 算法竞赛入门经典 第三章 uVA455 - Periodic Strings
- 算法竞赛入门经典第四章习题4-5 IP Networks UVA - 1590
- 算法竞赛入门经典(第2版)习题4-2 正方形UVa201
- 算法竞赛入门经典(第二版)-刘汝佳-第四章 函数与递归 互联网协议网络Uva1590
- 算法竞赛入门经典习题3-3数数字(Digit Counting,ACM/IMPC Danang 2007,UVa1225)
- UVa220 算法竞赛入门经典(第2版)习题4-3 黑白棋 Othello
- 算法竞赛入门经典(第二版) 习题3-6 Crossword Answers UVa232 Finals1994
- 算法竞赛入门经典(第2版)习题4-10 洪水! Flooded! UVa815