文章
124
粉丝
0
获赞
142
访问
9.1k
#include<bits/stdc++.h>
using namespace std;
int findMinPeriod(const string &s) {
int len = s.length();
for (int k = 1; k <= len; k++) {
if (len % k != 0)
continue;
bool ok = true;
for (int i = k; i < len; i += k) {
if (s.substr(i, k) != s.substr(0, k)) {
ok = false;
break;
}
}
if (ok)
return k;
}
return len; // 如果没有更小周期,则周期为字符串长度
}
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string s;
cin >> s; // 读取测试字符串
cout << findMinPeriod(s) << endl;
if (i != n-1) cout << endl; // 输出空行分隔,最后一个测试用例后不输出空行
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发