会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
c语言源码
poj 2406
#include<stdio.h> #include<string.h> char s2[1000100]; int next[1000010]; void getnext(){ int i=1,j=0,k; next[1]=0; k=strlen(&s2[1]); while(i<=k){ if(j==0 || s2[i]==s2[j]){ i++,j++; next[i]=j; } else j=next[j]; } } int main(){ int t,T,n,i,j,temp; while(scanf("%s",&s2[1]) && s2[1]!='.'){ getnext(); n=strlen(&s2[1]); temp=n+1-next[n+1]; if(temp<n){ if(n%temp!=0) printf("1\n"); else printf("%d\n",n/temp); } else printf("1\n"); } }
理解字符串的循环节怎么求即可
posted on
2012-06-23 23:44
c语言源码
阅读(
131
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
导航
博客园
首页
新随笔
联系
订阅
管理
公告