题意:求既是前缀又是后缀的前缀的可能的长度
忙着考试,好几天没做题了,今天做了几道KMP都是1A,但这道题Output Limit Exceeded 了一次 原因是循环输入的时候没有判断是否遇到了文件末尾
思路比较简单:一直用next下去即可 最后逆序输出
#include "iostream" using namespace std; #define maxsize 400010 char c[maxsize]; int next[maxsize]; int len; int prin[maxsize]; void get_next() { int i=0; int j=-1; next[0]=-1; while(i<len) { if (j==-1||c[i]==c[j]) { i++; j++; next[i]=j; } else { j=next[j]; } } } int main() { while (scanf("%s",c)!=EOF)//判断是否文件末尾 { len=strlen(c); get_next(); int temp=next[len]; int i=0; while (temp!=0) { prin[i++]=temp; temp=next[temp]; } while(i--) { printf("%d ",prin[i]); } printf("%d\n",len); } }
相关推荐
北大POJ2002-Squares 解题报告+AC代码
北大POJ3253-POJ3253-Fence Repair【STL优先队列】 解题报告+AC代码
poj 1000 - 2000 部分题目 官方分类 poj 1000 - 2000 部分题目 官方分类
北大POJ1426-Find The Multiple【BFS+同余模】 解题报告+AC代码
北大POJ3020-Antenna Placement 解题报告+AC代码
在程序设计语言中,可以利用堆栈的方法把中缀表达式转换成保值的后缀表达式(又称逆波兰表示法),并最终变为计算机可以直接执行的指令,得到表达式的值。 给定一个中缀表达式,编写程序,利用堆栈的方法,计算...
这是魔兽世界终极版POJ的-测试数据,找了好久才找到的。 本来想设置为0积分,但是它居然自动收费(o_ _)ノ。 看传送门:https://pan.baidu.com/s/1cCIwW8psGDASu2JdZawG3Q
POJ3211--Washing Clothes
北大POJ3414-Pots 解题报告+AC代码
北大POJ2305-Basic remains POJ2305-Basic remains
北大POJ1321-Chess Problem POJ1321-Chess Problem
北大POJ1080-Human Gene Functions POJ1080-Human Gene Functions
北大POJ1159-Palindrome 解题报告+AC代码
poj 1000-3000部分代码 网上收集
POJ---1456.Supermarket测试数据及答案,题目描述:A supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod sold by a deadline dx that is measured as an integral ...
北大POJ1258-Agri-Net【Prim】 解题报告+AC代码
北大POJ1159-Palindrome
POJ 1038--Bugs Integrated
POJ3036--Honeycomb Walk
北大POJ1837-Balance