Periodic Strings
来源:互联网 发布:淘宝营销活动是什么 编辑:程序博客网 时间:2024/05/17 09:10
Description
Download as PDF
Periodic Strings
A character string is said to have period k if it can be formed by concatenating one or more repetitions of another string of length k. For example, the string “abcabcabcabc” has period 3, since it is formed by 4 repetitions of the string “abc”. It also has periods 6 (two repetitions of “abcabc”) and 12 (one repetition of “abcabcabcabc”).
Write a program to read a character string and determine its smallest period.
Input
The first line oif the input file will contain a single integer N indicating how many test case that your program will test followed by a blank line. Each test case will contain a single character string of up to 80 non-blank characters. Two consecutive input will separated by a blank line.
Output
An integer denoting the smallest period of the input string for each input. Two consecutive output are separated by a blank line.
Sample Input
1
HoHoHo
Sample Output
2
一个字符串,问最少是多少个字符重复的。只用搜n/2次就好了,如果都不行,就是原来的长度。
写的时候要注意比较,容易出错。
#include<cstdio>#include<cstring>#include<iostream>#include<string>#include<queue>#include<algorithm>using namespace std;char a[105], b[105];int check(int x,int step){ int i, j, leap = 0; for (i = 1; i < step; i++) { for (j = i*x ; j < i*x + x; j++) { if (a[j] != a[j%x])leap = 1; } } if (leap)return 0; else return 1;}int main(){ int i, j, m, n, ans, t, len,step; cin >> t; getchar(); getchar(); while (t--) { gets(a); len = strlen(a); for (i = 1; i <= len / 2; i++) { if (len%i != 0)continue; step = len / i; for (j = 0; j < i; j++) b[j] = a[j]; if (check(i, step))break; } if (i == len / 2 + 1)cout << len << endl; else cout << i << endl; if (t != 0)cout << endl; if (t)getchar(); } return 0;}
- Periodic Strings
- Periodic Strings
- Periodic Strings
- 1237: Periodic Strings
- UVA 455 - Periodic Strings
- UVa455 - Periodic Strings
- UVa 455 - Periodic Strings
- UVa 455 - Periodic Strings
- UVa 455 - Periodic Strings
- UVA455 - Periodic Strings
- uva455 Periodic Strings
- UVa 455 Periodic Strings
- UVa - 455 Periodic Strings
- UVa 455 Periodic Strings
- UVa 455 - Periodic Strings
- Periodic Strings UVA455
- 周期串(Periodic Strings)
- Uva 455-periodic strings
- rsync 同步时排除多个文件
- 几种JSP页面传值方式
- 树状数组基础
- ZooKeeper原理及使用
- 关于pch文件
- Periodic Strings
- Spring编程式事务管理
- Android的NDK开发(5)——Android JNI层实现文件的read、write与seek操作
- 怎么打开安卓开发工具eclipse的代码提示功能?
- Android Studio Intent使用(显式、隐式) 第一行代码
- HDU1789Doing Homework again
- ZOJ 1204
- [leetcode]First Missing Positive
- Tomcat的性能与最大并发(1000)