Cod sursa(job #2745050)

Utilizator mafiotxrobeert mafiotx Data 25 aprilie 2021 20:12:23
Problema Potrivirea sirurilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream> 
#include <fstream>
#include <iomanip>
#include <cmath>
#include <algorithm> 
#include <cstring>

using namespace std;

string NumeFisier = "strmatch";

ifstream fin(NumeFisier + ".in");
ofstream fout(NumeFisier + ".out");

typedef unsigned long long int ull;



int main()
{
	char sirA[2000001];
	fin >> sirA;

	char sirB[2000001];
	fin >> sirB;

	int lenA = strlen(sirA);
	int lenB = strlen(sirB);

	int nrMatches = 0;

	for (int i = 0; i <= lenB - lenA; i++)
	{
		if (sirB[i] == sirA[0])
		{
			bool ok = 1;
			for (int j = 1; j < lenA; j++)
				if (sirA[j] != sirB[i + j])
				{
					ok = 0;
					break;
				}
			if (ok && nrMatches < 1000)
			{
				fout << i << " ";
				nrMatches++;
			}
		}
	}

}