| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
哪位大哥能帮帮我为什么我wa了#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char p[10005]={'a'};
char q[1000005]={'a'};
int kmp(void)
{
int next[10005]={0};
int i,j=2,lq,lp,k=0;
next[1]=0;
while (p[j] != '\0' )
{
i=next[j-1];
while (i !=0 && p[i] != p[j-1])
i=next[i];
next[j]=i+1;
j++;
}
lp=strlen(p)-1;
i=1;j=0;
lq=strlen(q)-1;
j=0;
for (i=1;i<=lq;i++)
{
while ( (j>0) && (p[j+1]!=q[i]))
j=next[j];
if (p[j+1]==q[i]) j++;
if (j==lp)
{
k++;
j=next[j];
}
}
return k;
}
int main()
{
int m,i,k;
scanf("%d",&m);
for (i=1;i<=m;i++)
{
memset(p,'\0',sizeof(p));
memset(q,'\0',sizeof(q));
p[0]='a';
q[0]='a';
scanf("%s",&p[1]);
scanf("%s",&q[1]);
k=kmp();
printf("%d\n",k);
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator