uva455periodic strings周期串
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=93800#problem/D
题意:输入一串长度不超过80的字符串,这个字符串可由一个字符串重复多次得到,输出最小周期。
思路:如果长度不能整除字符串长度,一定不是。每个位置%长度得到相应的位置,如果不一样,该长度一定不是。
#include<iostream> using namespace std; char str[100]; void solve() { int len=strlen(str); for(int i=1;i<=len;i++) { if(len%i) { int j; for(j=i;j<len;j++) if(str[j]!=str[j%i])break; if(j==len)for(int k=0;k<i;k++)cout<<i;break; } } } int main() { int t; cin>>t; cout<<endl; while(t--) { cin>>str; solve(); } }