Cod sursa(job #2909985)

Utilizator CherimoyaVeress Armand Cherimoya Data 17 iunie 2022 14:00:57
Problema Potrivirea sirurilor Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
int n, v[2001];
int main(){
    char A[2000001], B[2000001];
    fin.getline(A, 2000000);
    fin.getline(B, 2000000);
    int l=strlen(B), d=strlen(A);
    for(int i=0; i < l; i++){
        if(B[i] == A[0]){
            int x=i;
            int ok=1;
            for(int j=1; j < d && ok == 1; j++)
                if(B[++i] != A[j]) ok = 0;
            if(ok == 1)
                if(n < 1000) v[n++] = x;
            i = x+1;
        }
    } 
    fout << n << "\n";
    for(int i=0; i < n; i++) fout << v[i] << " ";
}