Cod sursa(job #391360)

Utilizator sorecau_catalinSorecau Catalin sorecau_catalin Data 5 februarie 2010 15:30:36
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
using namespace std;
#define MAX  2000001
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");

char a[MAX], b[MAX];


int main()
{
	int nr = 0, i, j, ok, n, m;
	int v[1000] = {0};
	fin >> a;
	fin.get();
	fin	>> b ;
	n = strlen(a);
	m = strlen(b);
	for ( i = 0; i < m-n+1; i++)
	{
		ok = 1;
			for (  j = 0; j < n; j++)
			{
				if ( b[i+j] != a[j] )
					{
						ok = 0;
						break;
					}
			}
		if ( ok ) 
		{
			nr++;
			if ( nr <= 1000 )
			v[nr] = i;
		}
	}
	fout << nr << '\n';
	if ( nr > 1000 )
		nr = 1000;
	for ( i = 1; i <= nr; i++)
		fout << v[i] << ' ';
			
	fin.close();
	fout.close();
	return 0;
}