Cod sursa(job #2605280)

Utilizator michael_blazemihai mihai michael_blaze Data 24 aprilie 2020 18:16:02
Problema Potrivirea sirurilor Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <vector>
#include <string>

using namespace std;

ifstream fin("strmatch.in");
ofstream fout("strmatch.out");

int main() {
    ios_base::sync_with_stdio(false);
    fin.tie(NULL);
	int counter = 0;
	string A, B;
	vector<int> poz;
    bool ok;
	getline(fin, A);
	getline(fin, B);

	int len1 = A.size();
	int len2 = B.size();


	for (int i = 0;i  <= len2 - len1;i ++) {
        ok = true;
		for (int k = i;k <= len1 + i - 1;k ++)
			if (A[k - i] != B[k]) {
                ok = false;
                break;
			}

		if (ok) {
			poz.push_back(i);
			counter ++;
		}
	}
	fout << counter << '\n';
	int len = poz.size();
	for (int i = 0;i < len;i ++)
		fout << poz[i] << ' ';
	return 0;
}