poj 2406 Power Strings

poj 2406 Power Strings,第1张

poj 2406 Power Strings
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1000010 ;int nxt[maxn];char s[maxn];void getn(char *s, int *nxt) {int len=strlen(s);nxt[0]=nxt[1]=0;for (int i=1;i<len;i++) {int j=nxt[i];while (j&&s[i]!=s[j]) j=nxt[j];nxt[i+1] = s[i]==s[j] ? j+1 : 0 ;}} int main(){while (scanf("%s",s)&&s[0]!='.') {int len=strlen(s);getn(s,nxt);if (len%(len-nxt[len])==0)printf("%dn",len/(len-nxt[len]));else printf("1n");}return 0;}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4922024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存