POJ 2406 Power Strings(KMP)

POJ 2406 Power Strings(KMP)

分类:KMP

题意:给定一个字符串,,让你求出他最多由几个相同的连续子串连接而成。

代码(直接套了上一题)

//5060 KB110 msC++#include<cstdio>#include<iostream>#include<cstring>#define maxn 1000100using namespace std;int len;char str[maxn];int next[maxn];void getnext(){next[0]=-1;int k=-1;int j=0;while(j<len) {if (k==-1||str[j]==str[k]) {k++;j++;next[j]=k;}else k = next[k];}}int main(){while(scanf("%s",str)){len=strlen(str);if(len==1&&str[0]=='.') break;getnext();if(len%(len-next[len])==0) printf("%d\n",len/(len-next[len]));else printf("1\n");}return 0;}

上一篇HDOJ1358 Period (KMP next数组应用)下一篇POJ-2752 Seek the Name, Seek the Fame(KMP)

顶0踩0

自信是一个人的胆,有了这个胆,你就会所向披靡!

POJ 2406 Power Strings(KMP)

相关文章:

你感兴趣的文章:

标签云: