1 条题解
- 
  0
#include<iostream> #include<cstdio> using namespace std; int ne[1000001]; int main(){ string a; while(cin>>a){ if(a==".")break; int le=a.size(); ne[0]=-1; for(int i=1,j=-1;i<le;++i){ while(~j&&a[j+1]!=a[i])j=ne[j]; if(a[j+1]==a[i])j++; ne[i]=j; } if(le%(le-1-ne[le-1])==0)printf("%d\n",le/(le-1-ne[le-1])); else puts("1"); } return 0; } 
信息
- ID
 - 378
 - 时间
 - 1000ms
 - 内存
 - 512MiB
 - 难度
 - 6
 - 标签
 - 递交数
 - 90
 - 已通过
 - 27
 - 上传者