Cod sursa(job #2554574)

Utilizator blotucosmincosmin blotucosmin Data 23 februarie 2020 09:57:55
Problema Potrivirea sirurilor Scor 14
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;

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

vector <int> v;

char a[200001], b[2000001];

int q;

int main()
{
    f >> a;
    int m = strlen(a);

    f.get();

    f >> b;
    int n = strlen(b);

    for(int i = 0; i < n; ++ i)
        if(b[i] == a[q])
        {
            q ++;
            if(q == m)
            {
                v.push_back(i - m + 1);
                q = 0;
                if(b[i] == a[q]) q ++;
            }
        }
        else q = 0;

    g << v.size() << "\n";

    for(int i = 0; i < v.size(); ++ i)
        g << v[i] << " ";
    return 0;
}