Cod sursa(job #583364)

Utilizator Antonius74Antonius Cezar Hegyes Antonius74 Data 19 aprilie 2011 19:54:52
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <cstdio>
#include <vector>
using namespace std;

int main()
{
	freopen ("strmatch.in", "r", stdin);
	freopen ("strmatch.out", "w", stdout);
	
	char a[2000000], b[2000000]; 
	scanf ("%s %s", a,b);
	
	
	
	int n,m,aux,anz=0;
	vector <int> poz;
	n=strlen(a);
	m=strlen(b);
	
	for (int i=0;i<m;i++)
		if (b[i]==a[0])
		{
			aux=0;
			for (int j=i+1;j<i+n;j++)
			{
				aux++;
				if (b[j]!=a[aux])
					break;
				if (j==(i+n-1))
				{
					poz.push_back(i);
					anz++;
				}
			}
		}
	
	printf ("%d \n", anz);
	for (int i=0;i<poz.size();i++)
		printf ("%d ", poz[i]);
}