题目网址:https://vjudge.net/problem/UVA-455
简单的一道字符串处理的题目,这道题目历经波折。wa点主要在格式,和几个特例:
asasasa
7
aaacaaacaaac
4
asdasdasd
3
aaaaaaaaa
1
hohohoho
2
asdfasdf
4
这几个点上,解决问题的主要方式是:1换行需要换两次换一次行是在下一行输出,两次才有空行。2用n% loop来判断是循环可以涵盖所有方面。题解:
#include<bits/stdc++.h>
using namespace std;
int main(){
int t,n;
cin >> t;
while(t--){
char s[85] = {};
cin >> s;
n = strlen(s);
int res = n;
for(int loop = 1;loop < n;++loop){
bool jd = true;
if(n % loop) //如果能除尽就进入下一步运算
continue;
for(int j = loop;j < n && jd;j++){ //相等才循环不相等就退出
if(s[j] != s[j - loop])
jd = false;
}
if(jd){
res = loop;
break;
}
}
cout << res << endl;
if(t!=0)
cout << endl;
}
}