Cod sursa(job #2589298)

Utilizator alinapamfileAlina Pamfile alinapamfile Data 26 martie 2020 08:19:57
Problema Potrivirea sirurilor Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#define _CRT_SECURE_NO_WARNINGS
#include <iostream> 
#include <string.h>
#include <fstream>

using namespace std;

char a[2000001], b[2000001];
int poz[200001];

ifstream f("strmatch.in");
ofstream g("strmatch.out");

int main()
{

	int nr = 0;
	f >> a;
	f >> b;
	int l1 = strlen(a);
	int l2 = strlen(b);
	for( int i = 0; i < l2; i++ )
		if (b[i] == a[0])
		{
			int k = i+1, j = 1;
			while (j < l1 && k < l2 && b[k] == a[j])
			{
				j++;
				k++;
			}
			if (j == l1)
			{
				nr++;
				poz[nr] = i;
			}
		}
	g << nr << endl;
	for (int i = 1; i <= nr; i++)
		g << poz[i] << ' ';
}