紫书 第三章 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;
}

posted @ 2025-05-31 02:46  Guaninf  阅读(3)  评论(0)    收藏  举报