Cod sursa(job #714782)

Utilizator misinozzz zzz misino Data 16 martie 2012 09:51:50
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>
using namespace std;
FILE *f,*g;
int m,n,i,j,nr,a[2000001],b[2000001],v[1001];
char c;
int main()
{f=fopen("strmatch.in","r");
g=fopen("strmatch.out","w");
fscanf(f,"%c",&c);
n=0;
while(c!='\n')
{++n;
a[n]=(int)c;
fscanf(f,"%c",&c);
}
m=0;
fscanf(f,"%c",&c);
while(c!='\n')
{++m;
b[m]=(int)c;
fscanf(f,"%c",&c);
}
for(i=1;i<=m-n+1;++i)
{for(j=1;j<=n;++j)
	if(a[j]!=b[i+j-1])
		break;
if(j>n)
	++nr,v[nr]=i-1;
if(nr>1000)
	break;
}
fprintf(g,"%d\n",nr);
for(i=1;i<=nr;++i)
	fprintf(g,"%d ",v[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}