hdu2594--kmp入门题
来源:互联网 发布:java 运行时获取注解 编辑:程序博客网 时间:2024/05/19 01:10
//#include<bits/stdc++.h>#include<iostream>#include<memory.h>#include<string.h>#include<cstdio>using namespace std;const int maxn=10e3;char a[50500],b[100050];int nextl[100050];void crenext(){ memset(nextl,0,sizeof(nextl)); nextl[0]=-1; int j; int m=strlen(b)-1; for(int i=1;i<=m;i++) { j=nextl[i-1]; while(b[j+1]!=b[i]&&j>=0) { j=nextl[j];//cout<<j<<endl; } if(b[j+1]==b[i]) nextl[i]=j+1; else nextl[i]=-1; } for(int i=0;i<=m;i++) nextl[i]++; /* for(int i=0;i<m;i++)cout<<nextl[i]<<" ";*/}int main(){ memset(b,0,sizeof(b));memset(a,0,sizeof(a)); char c[]=" "; while(cin>>b>>a) { //>>a; { strcat(b,c); strcat(b,a); int m=strlen(b); int i=0,j=0,pos=-1; crenext(); int coun=0; //char *pp=*b[m-nextl[m-1]]; if(nextl[m-1]==0&&b[m-1]!=b[0])cout<<0<<endl; else { for(int i=0;i<nextl[m-1];i++)printf("%c",b[i]);cout<<" "<<nextl[m-1]<<endl; } } } return 0;}把两个串接起来然后把next[m-1]输出就行了
阅读全文
0 0
- hdu2594--kmp入门题
- hdu2594之KMP入门
- hdu2594 kmp
- hdu2594(KMP)
- HDU2594 【KMP】
- KMP题 hdu3336 hdu3746 hdu 1358 hdu2594
- hdu2594(KMP算法水题)
- 扩展KMP总结(模板题hdu2594)
- hdu2594 简单KMP
- hdu2594(kmp)
- KMP(2)--hdu2594
- hdu2594(KMP水题)
- hdu2594(kmp求next)
- 【KMP】 hdu2594 Simpsons’ Hidden Talents
- hdu2594 Simpsons’ Hidden Talents kmp
- HDU2594 Simpsons’ Hidden Talents 【KMP】
- hdu2594 Simpsons’ Hidden Talents(KMP)
- HDU2594 Simpsons’ Hidden Talents【KMP】
- [kuangbin带你飞]专题17:D
- lotus预定义域的使用
- OKHTTP
- 典型的生产者消费者模式
- Jzoj3717【NOI2014模拟7.2】火车
- hdu2594--kmp入门题
- 一、GNUmake与Makefile的简介
- java线程同步 Lock同步锁
- laravel-excel文档翻译笔记
- Codeforces 855 C. Helga Hufflepuff’s Cup (树形dp)
- ARM自带的大小端转换函数
- 乱七八糟
- WEB篇二 CSS
- JAVA Freemarker(5)---取值过程