pku 1961 KMP period 解题报告
来源:互联网 发布:金蝶软件进销存 编辑:程序博客网 时间:2024/05/16 12:17
一、题目:period
二、题意:http://acm.pku.edu.cn/JudgeOnline/problem?id=1961
三、解决办法:
赤裸裸的kmp算法
四、源代码:
#include "stdio.h"
#include "string.h"
#define MAX 1000010
char s[MAX];
int next[MAX];
void get_next()
{
int i, j;
int N = strlen(s);
i = 0;
next[0] = -1;
j = -1;
while (i < N)
{
if (j == -1 || s[i] == s[j])
{
i++;
j++;
next[i] = j;
}
else
{
j = next[j];
}
}
}
int main()
{
freopen("1.txt", "r", stdin);
int i, j; //辅助值
int k = 1; //程序运行的次数
int N; //数组的长度
int p = 0;
while (scanf("%d", &N) && N != 0)
{
getchar();
gets(s);
printf("Test case #%d/n", k);
get_next();
for (i = 2; i <= N; i++)
{
j = i - next[i];
if (i % j == 0 && i / j > 1)
{
printf("%d %d/n", i, i / j);
}
}
k++;
printf("/n");
}
return 0;
}
- pku 1961 KMP period 解题报告
- Pku acm 1961 Period数据结构题目解题报告(十九)----kmp算法
- Pku acm 1961 Period数据结构题目解题报告(十九)----kmp算法
- KMP POJ 1961 Period 解题报告
- pku 2406 kmp 解题报告
- pku 1961 Period(KMP扩展)
- pku 1011 解题报告
- pku 2975解题报告
- pku 1088 解题报告
- pku 1002 解题报告
- pku 1003解题报告
- pku 1004 解题报告
- pku 1005 解题报告
- pku 1006 解题报告
- pku 1008 解题报告
- pku 1011 解题报告
- pku 1013 解题报告
- pku 1050 解题报告
- 班级成员信息系统的设计与实现(一)
- 动态链接库
- Struts2 无任何输入校验返回input解决
- 应聘前,想清楚去这个单位的目的
- socket select函数的详细讲解
- pku 1961 KMP period 解题报告
- 产品经理值得听的13个培训
- 深入理解D3D9
- OpenJWeb 1.6版本中实现动态设置页面的查询条件列
- 程序员之路——我还是个菜鸟 要多努力 不可怨天尤人 不可元自己运气差,是自己努力不够
- 支付宝高速扩张:招人、招人、再招人
- 无线局域网的安全技术
- 关于牛仔裤你一定要知道的16条
- [转载]简单方法处理usp10.dll (原文地址:http://bbs.kafan.cn/viewthread.php?tid=421630)