1 条题解
-
0
思路
句号独占行终止,n-pi[n-1]须整除n才是重复单元,输出最大重复次数。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; vector<int> prefix(const string&s){vector<int>p(s.size());for(int i=1;i<(int)s.size();i++){int j=p[i-1];while(j&&s[i]!=s[j])j=p[j-1];if(s[i]==s[j])j++;p[i]=j;}return p;}int main(){ios::sync_with_stdio(false);cin.tie(nullptr);string s;while(cin>>s&&s!="."){auto p=prefix(s);int k=s.size()-p.back();cout<<(s.size()%k?1:s.size()/k)<<'\n';}}
- 1