Pagini recente » Cod sursa (job #43237) | Cod sursa (job #524490) | Cod sursa (job #2821421) | Cod sursa (job #269858) | Cod sursa (job #535815)
Cod sursa(job #535815)
#include <cstdio>
#define MMAX 2000001
#define NMAX 2000001
void numara();
void constructie();
int M,N;
int V[MMAX];
char A[MMAX];
char B[NMAX];
int main()
{
freopen("KMP.in","r",stdin);
freopen("KMP.out","w",stdout);
fgets(A+1,MMAX,stdin);
fgets(B+1,NMAX,stdin);
numara();
constructie();
return 0;
}
void constructie()
{
V[1]=0;
for(int i=2;i<=M;i++)
if(A[i]==A[V[i-1]+1])
V[i]=V[i-1]+1;
else
V[i]=0;
}
void numara()
{
int i;
for(i=1;A[i]!='\n';i++);
M=i-1;
for(i=1;B[i]!='\n' && B[i]!=EOF;i++);
N=i-1;
}