#include "bits/stdc++.h"
#define int long long
using namespace std;
string s,t;
int n;
bool check(int x)
{
int cntt=0,cnts=0;
for(int i=x;i<n;i++)
{
if(s[i%x]!=s[i]) cnts++;
if(t[i%x]!=t[i]) cntt++;
}
if(cnts<=1||cntt<=1)
{
return 1;
} else
return 0;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int tt;
cin>>tt;
while(tt--)
{
cin>>n>>s;
t=s;
reverse(t.begin(),t.end());
vector<int>v;
for(int i=1;i*i<=n;i++)
{
if(n%i!=0)
continue;
v.push_back(n/i);
v.push_back(i);
}
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++)
{
if(check(v[i]))
{
cout<<v[i]<<'\n';
break;
}
}
}
}
vector的用法
于 2024-08-06 20:12:45 首次发布