1 条题解
-
0许致远___ (XZYxuzhiyuan) LV 7 @ 2022-4-2 19:54:42
#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; }
- 1
信息
- ID
- 378
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 83
- 已通过
- 23
- 上传者