Cod sursa(job #1232155)

Utilizator daniel.amarieiDaniel Amariei daniel.amariei Data 22 septembrie 2014 11:06:39
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#define MAX_MATCHES 1000
using namespace std;

int POSITIONS[MAX_MATCHES];

int main()
{
	ifstream ifs("strmatch.in");
	ofstream ofs("strmatch.out");
	
	string A, B; 
	ifs >> A >> B;
	
	int a_length = A.length();
	int b_length = B.length();
	
	int n_matches = 0;
	int i = 0;
	while (i <= b_length)
	{
		int j = 0;
		while (j < a_length && A[j] == B[i+j]) ++j;
		
		if (j == a_length) 
		{
			if (n_matches < MAX_MATCHES)
				POSITIONS[n_matches++] = i;
		} 

		++i;
	}
	
	ofs << n_matches << "\n";
	for (int i = 0; i < n_matches; ++i)
		ofs << POSITIONS[i] << " ";

	return 0;
}