Cod sursa(job #1748822)

Utilizator vladc096Vlad Cincean vladc096 Data 26 august 2016 22:34:27
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <string>
#include <vector>

using namespace std;

int main() {
	string A;
	string B;
	vector<int> match;
	int a, b, N;
	int s, i;

	// input
	ifstream f("strmatch.in");
	f >> A >> B;
	f.close();

	// solve
	a = A.size();
	b = B.size();
	for (s = 0; s < b - a + 1; ++s) {
		for (i = 0; i < a; ++i) {
			if (A[i] != B[s + i])
				break;
		}
		if (i == a) {
			match.push_back(s);
		}
	}
	N = match.size() > 1000 ? 1000 : match.size();

	// output
	ofstream g("strmatch.out");
	g << N << '\n';
	for (i = 0; i < N; ++i) {
		g << match[i] << ' ';
	}
	g << '\n';
	g.close();

	return 0;
}