紫书 第三章 Periodic Strings
注意格式
代码
#include<bits/stdc++.h>
using namespace std;
inline int read() {
int ans = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-')f = -1;
ch = getchar();
}
while (ch <= '9' && ch >= '0') {
ans = ans * 10 + ch - '0';
ch = getchar();
}
return ans * f;
}
bool check(string s,int x) {
if (s.size() % x != 0)
return false;
string tmp;
for (int j = 0;j<x;j++) {
tmp.push_back(s[j]);
}
for (int j = x; j <s.length(); j+=x) {
for (int i = j; i<j+x; i++) {
if (s[i] != tmp[i-j])
return false;
}
}
return true;
}
void solve() {
string s;
cin>>s;
for (int i = 1; i<= s.length(); i++) {
if (check(s,i)) {
cout<<i<<"\n";
return ;
}
}
}
int main() {
int t= read();
while (t--) {
solve();
if (t)cout<<"\n";
}
return 0;
}

浙公网安备 33010602011771号