Cod sursa(job #499289)

Utilizator joRicelAvadanei Danut joRicel Data 9 noiembrie 2010 15:46:23
Problema Potrivirea sirurilor Scor 16
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>
#include <string.h>
#define rahat 2000001
void _read(),_find(),_show();
int lg,lg1,i,j,k,n,v[rahat];
char A[rahat],B[rahat];
int main()
{
	_read();
	_find();
	_show();
	return 0;
}

void _read()
{
	freopen("strmatch.in","r",stdin);
	freopen("strmatch.out","w",stdout);
	scanf("%s",A);
	scanf("%s",B);
}

void _find()
{
	
	lg = strlen(A);
	lg1 = strlen(B);
	for(i = 0;i <= lg1;i++)
	{
		while(B[i] == A[j] && j < lg)
		{
			i++;
			j++;
		}
		if(j == lg) 
		{
			n++;
			v[k++] = i - lg;
			i = i - lg;
		}
		j = 0;
		
	}
}
void _show()
{
	printf("%d \n",n);
	for(i = 0;i < k;i++)
		printf("%d ",v[i]);
}