首页 > 学院 > 开发设计 > 正文

poj 2406

2019-11-08 02:41:23
字体:
来源:转载
供稿:网友
////  main.cpp//  KMP////  Created by liuzhe on 16/7/16.//  Copyright © 2016年 my_code. All rights reserved.//#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <cstdio>using namespace std;char a[1000000],b[1000000];int p[1000000],n,m,ans;int len;void fail(){    int i,j=-1;    p[0]=-1;    while(i<len)    {        if(j==-1||a[i]==a[j])            p[++i]=++j;        else j=p[j];    }}int main(){    while(scanf("%s",a)!=EOF)    {        if(a[0]=='.')   break;        int i=0,j=-1;        p[0]=-1;        len=strlen(a);        fail();        ans=1;        if(len%(len-p[len])==0)            ans=len/(len-p[len]);        PRintf("%d/n",ans);            }    return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表