Cod sursa(job #540982)

Utilizator bhaskruMarius S bhaskru Data 24 februarie 2011 18:34:09
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream.h>
#include <iostream.h>
#include <string.h>
fstream f,g;
char a[2000001],b[2000001];
int la,lb;
int v[2000001];

int main()
{
f.open("strmatch.in",ios::in);
g.open("strmatch.out",ios::out);
f.get(a,2000001);
f.get();
f.get(b,2000001);
la = strlen(a);
lb = strlen(b);
int k,nr,aux;
nr=0;
for(int i=0;i<lb;i++)
	if(b[i]==a[0])
		{k=1;aux=0;
		for(int j=1;j<la;j++)
		    {if(b[i+j]==a[0] && aux==0)
				aux=i+j;
			if(b[i+j]!=a[j])
				k=0;
		    }
		if(k==1)
			{nr++;
			v[nr]=i;}
		if(aux!=0)
		   i=aux-1;	
		}	
g<<nr<<endl;
if(nr>1000)
  nr=1000;
for(int i=1;i<=nr;i++)
	g<<v[i]<<" ";
return 0;
}