标签:des style io color ar os java sp for
clinton homer riemann marjorie
0 rie 3
思路:KMP模板简单运用,判断两串匹配后返回值是否为零,如果不为零就输出相应长度,否则输出0。还是KMP题目做的太少了,总觉得理解起来还有些吃力。。
#include <iostream>
#include <stdio.h>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
#define N 100009
using namespace std;
char a[N],b[N];
int next[N];
int en[N];
int len1;
int len2;
void getnext()
{
int i,j;
i=0;
j=-1;
next[0]=-1;
while(i<len1)
{
if(j==-1||a[i]==a[j])
{
i++;
j++;
next[i]=j;
}
else
j=next[j];
}
}
void getend()
{
getnext();
int i,j;
i=0;
j=0;
en[0]=0;
while(i<len2)
{
if(j==-1||a[j]==b[i])
{
i++;
j++;
en[i]=j;
}
else
j=next[j];
}
}
int main()
{
while(~scanf("%s%s",&a,&b))
{
len1=strlen(a);
len2=strlen(b);
getend();
//for(int i=0;i<=len1;i++)
// cout<<next[i]<<" ";
// cout<<endl;
//for(int i=0;i<=len2;i++)
//cout<<en[i]<<" ";
// cout<<endl;
if(en[len2]==0) puts("0");
else
{
for(int i=0;i<en[len2];i++)
cout<<a[i];
cout<<" "<<en[len2]<<endl;
}
}
return 0;
}
HDU 2594 Simpsons’ Hidden Talents
标签:des style io color ar os java sp for
原文地址:http://blog.csdn.net/wust_zjx/article/details/40948661