1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#include <iostream> #include <cstdio> #include <string> using namespace std; string str; bool check(string p,string s) { int ll=s.size(); int k=0; while(k!=ll) { for(int i=0;i<p.size();i++) { if(p[i]!=s[k++]) return 0; } } return 1; } int main() { int t; bool line=0,done=0; bool f; string blnk,p; cin>>t; getline(cin,blnk); getline(cin,blnk); //addxascc //abcsabcxsabcs while(t--) { if(line) cout<<endl; line=1; getline(cin,str); p=""; done=0; int lnth=str.size(); for(int i=0;i<str.size();i++) { p.append(1u,str[i]); int len=p.size(); if(lnth%len) continue; else { f=check(p,str); if(f) { cout<<p.size()<<"\n"; done=1; break; } } } if(!done) cout<<str.size()<<"\n"; getline(cin,blnk); } return 0; } |