Cod sursa(job #472250)

Utilizator ilie.danilaIlie Teodor Danila ilie.danila Data 23 iulie 2010 16:01:44
Problema Potrivirea sirurilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>

using namespace std;

int index;
unsigned int indexA, indexB;

char a[2000001], b[2000001];

int sol[2000001];
int countSol;

int main()
{
	ifstream f("strmatch.in");
	ofstream g("strmatch.out");
	
	f >> b >> a;
	
	f.close();
	
	index = -1;
	
	do
	{
		index++;
		indexA = index;
		indexB = 0;
		
		while( a[indexA] == b[indexB] && indexB < strlen(b) )
		{
			indexA++;
			indexB++;
			
			if (indexB == strlen(b))
			{
				countSol++;
				sol[countSol] = index;
			}
		}
	}while( index < strlen(a) - strlen(b) );
	
	g << countSol << "\n";
	for( int i = 1; i <= countSol; i++ )
		g << sol[i] << " ";
	g << "\n";
	
	g.close();
	
	return 0;
}