Cod sursa(job #2742100)

Utilizator BogdanNPPupeza Bogdan BogdanNP Data 20 aprilie 2021 10:01:18
Problema Potrivirea sirurilor Scor 38
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <queue>
using namespace std;

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

const int maxN = 2000005;
char AA[maxN];
char BB[maxN];
queue<int> Q;

int main()
{
    fin.getline(AA, maxN);
    fin.getline(BB, maxN);

    int lenA = strlen(AA);
    int lenB = strlen(BB);
    for (int i = 0; i < lenB-lenA; ++i)
    {
        if (strncmp(AA, BB + i, lenA) == 0)
            Q.push(i);
    }
    fout << Q.size() << '\n';
    while(!Q.empty())
    {
        fout << Q.front() << ' ';
        Q.pop();
    }

    return 0;
}