Cod sursa(job #535815)

Utilizator ooctavTuchila Octavian ooctav Data 17 februarie 2011 19:55:59
Problema Potrivirea sirurilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#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;	
}