题目地址:http://poj.org/problem?id=1961

Sample Input

3
aaa
12
aabaabaabaab
0

Sample Output

Test case #1
2 2
3 3 Test case #2
2 2
6 2
9 3
12 4 题目分析:给你一个字符串,最大长度1百万。输出是:以第1组样例解释,在aaa的字符串中,长度为2时,存在2个循环节a。当长度为3时,存在3个循环节a。
以第二组样例解释,当长度为2时,存在2个循环节a。当长度为6时,存在2个循环节aab。当长度为9时,存在3个循环节aab。依次类推下去。
此题就是poj 2406的难度加强版本。
code:
#include <stdio.h>
#include <string.h>
#include <stdio.h> char s[1000000+10];
int next[1000000+10]; void get_next(int len)
{
int i=0, j=-1;
next[0]=-1;
while(i!=len)
{
if(j==-1 || s[i]==s[j])
next[++i]=++j;
else
j=next[j];
}
} int main()
{
int n;
int i, j, len;
int cnt=1;
while(scanf("%d%*c", &n)!=EOF)
{
if(n==0) break;
scanf("%s", s);
get_next(n);
printf("Test case #%d\n", cnt++);
for(i=1; i<=n; i++){
len=i-next[i];//计算的循环节的长度
if(i!=len && i%len==0){
printf("%d %d\n", i, i/len);
}
}
printf("\n");
}
return 0;
}

												

最新文章

  1. Asp.Net Core 发布和部署(Linux + Jexus )
  2. 介绍开源的.net通信框架NetworkComms框架 源码分析
  3. Python赋值语句与深拷贝、浅拷贝的区别
  4. hadoop-MapReduce分布式计算框架
  5. php进制转换函数
  6. jdbc连接集合
  7. url 参数的加号变成空格处理
  8. 量身定制顺美男女西服、衬衫、大衣、T恤等 - 北京58同城
  9. Redis监控数据分布工具Redis-audit 使用总结
  10. 关于VS2010编译警告LNK4221
  11. HPU--1280 Divisible
  12. Django继承AbstractUser新建UserInfor Model时出现fields.E304错误
  13. winform中TextBox只能输入字母
  14. HTML5 学习01——浏览器问题、新元素
  15. 双目SLAM(1) 总配置
  16. Linux 安装Python虚拟环境,virtualenvwrapper
  17. LVS负载均衡模型及算法概述
  18. window.postMessage跨文档通信
  19. 517. Super Washing Machines
  20. 20155310 《JAVA程序设计》实验二(JAVA面向对象程序设计)实验报告

热门文章

  1. Native VLAN打上标记
  2. EasyNVR智能云终端接入AI视频智能分析功能,用户可自定义接入自己的分析算法
  3. 利用Google Analytics API实现自己的统计报表
  4. git database 数据库 平面文件
  5. [NOIP2018PJ]摆渡车
  6. springcloud zuul
  7. 介绍一下except的用法和作用?
  8. Python3.6全栈开发实例[023]
  9. JS中原型链的理解
  10. IP地址处理模块IPy