Cod sursa(job #2985083)

Utilizator andrei_C1Andrei Chertes andrei_C1 Data 25 februarie 2023 17:14:52
Problema Potrivirea sirurilor Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 2000000;

int n, m, nr;
char A[NMAX + 1], B[NMAX + 1];
int v[1001];

int main() {
	fin >> A >> B;
	n = strlen(A);
	m = strlen(B);

	if(n > m) {
	 fout << "0\n";
	 return 0;
	}

	for(int i = 0; i < m; i++) {
	 int j = 0;
	 while(j < n && A[j] == B[i + j]) {
		 j++;
	 }

	 if(j >= n) {
		 nr++;
		 if(nr <= 1000) {
		  v[nr] = i;
		 }
	 }
	}

	fout << nr << '\n';
	for(int i = 1; i <= min(1000, nr); i++) {
	 fout << v[i] << " ";
	}
	return 0;
}