poj 2046
来源:互联网 发布:钢材进销存软件免费版 编辑:程序博客网 时间:2024/06/15 21:39
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> using namespace std; #define MAXN 1000010 char pattern[MAXN]; int next[MAXN]; void getNext(){ int m = strlen(pattern); next[0] = next[1] = 0; for(int i = 1 ; i < m ; i++){ int j = next[i]; while(j && pattern[i] != pattern[j]) j = next[j]; next[i+1] = pattern[i] == pattern[j] ? j+1 : 0; } int cir = m-next[m]; if(m%cir == 0)/*刚好由n个最小循环节组成*/ printf("%d\n" , m/cir); else/*否则都是输出1*/ printf("1\n"); } int main(){ while(gets(pattern)){ if(!strcmp(pattern , ".")) break; getNext(); } return 0; }
0 0
- poj 2046
- poj 2046
- POJ 2046 Gap
- POJ 2046 Power Strings
- poj 2046 Gap
- poj 2046 Gap
- POJ 2046 Gap 笔记
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- Android ImageView scaleType+adjustViewBounds两个属性详解 保证图片不变形
- machine-learning:数学:微积分
- 怎样理解Servlet的单实例多线程
- Android ORM框架介绍之greenDao注解及加密(三)
- mysql binlog 常用的命令
- poj 2046
- 100天土鸡饲养计划(34)
- 简单理解设计模式之单例模式
- 微信支付申请流程
- ButterKnife
- 【文本】数据格式——JSON
- Android常用动画总结
- HTTP
- notepad背景颜色设置