Cod sursa(job #2214818)

Utilizator bcrsqCont Sters bcrsq Data 20 iunie 2018 10:53:22
Problema Potrivirea sirurilor Scor 38
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <stdio.h>
#include <cstring>
#include <set>

using namespace std;

#define NMAX 2000000

int main () {
	char a[NMAX], b[NMAX];
	int alen, blen, counter = 0;
	set<int> pos;

	freopen("strmatch.in", "r", stdin);
	freopen("strmatch.out", "w", stdout);

	scanf("%s", a);
	scanf("%s", b);

	alen = strlen(a);
	blen = strlen(b);

	for (int i = 0; i < blen - alen; i++) {
		int OK = 1;

		for (int j = 0; j < alen; j++) {
			if (b[i + j] != a[j]) {
				OK = 0;
				break;
			}
		}

		if (OK) {
			counter++;
			pos.insert(i);
		}
	}

	printf("%d\n", counter);

	for (auto elem : pos) {
		printf("%d ", elem);
	}

	printf("\n");

	return 0;
}