Mai intai trebuie sa te autentifici.

Cod sursa(job #2964580)

Utilizator Alex_DumitrascuAlex Dumitrascu Alex_Dumitrascu Data 13 ianuarie 2023 11:31:53
Problema Potrivirea sirurilor Scor 14
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <vector>
#define MAX_N 2000005
using namespace std;
char a[MAX_N], b[MAX_N];
ifstream fin ("strmatch.in");
ofstream fout ("strmatch.out");
vector <int> contor;
int main()
{
    fin.tie(0);
    ios::sync_with_stdio(false);
    fin.getline(a, MAX_N);
    fin.getline(b, MAX_N);
    int indexA=0, indexB=0, start_poz=-1;
    int lenA=strlen(a);
    for (indexB=0; b[indexB]!='\0'; indexB++) {
        if (a[indexA]=='\0') {
            contor.push_back(start_poz);
            b[start_poz]='0';
            start_poz=-1;
            indexA=0;
            indexB-=lenA;
        }
        if (a[indexA]==b[indexB]) {
            if (start_poz==-1) start_poz=indexB;
            indexA++;
        }
        else {
            start_poz=-1;
            indexA=0;
        }
    }
    fout<<contor.size()<<'\n';
    for (auto i : contor) {
        fout<<i<<" ";
    }
    return 0;
}