2 solutions
-
2
#include<bits/stdc++.h> using namespace std; string s,s1,s2; int n,x; vector<int>v; bool f; void ys(int n) { v.clear(); for(int i=1;i<=sqrt(n);i++) { if(n%i==0) { if(i!=n/i) { v.push_back(i); v.push_back(n/i); } else { v.push_back(i); } } } } int main() { while(cin>>s,s!=".") { n=s.size(); ys(n); s=" "+s; sort(v.begin(),v.end()); for(int j=0;j<v.size();j++) { f=true; x=v[j]; s1=s.substr(1,x); for(int i=x+1;i<=n;i+=x) { s2=s.substr(i,x); if(s1!=s2) { f=false; break; } } if(f) { cout<<n/x<<"\n"; break; } } } return 0; }
Information
- ID
- 314
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- # Submissions
- 5
- Accepted
- 4
- Uploaded By