Cod sursa(job #2008970)

Utilizator HumikoPostu Alexandru Humiko Data 8 august 2017 11:04:00
Problema Potrivirea sirurilor Scor 24
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <cstdio>
#include <string.h>

using namespace std;

char v_a[2000001], v_b[2000001];
int v_pozitie[2000001];

int main()
{
    freopen ("strmatch.in", "r", stdin);
    freopen ("strmatch.out", "w", stdout);
    cin>>v_a;
    cin>>v_b;
    int pozitie = 0, cnt, nr = 0;
    for ( int i = 0; i<strlen(v_b)-strlen(v_a); ++i)
    {
        cnt = 0;
        int j = i;
        if ( v_a[cnt] == v_b[j] )
        {
            ++cnt;
            ++j;
            if (nr < 1000)
            v_pozitie[nr] = i;
            while ( v_a[cnt] == v_b[j])
            {
                ++cnt;
                ++j;
                if ( cnt == strlen(v_a) )
                    nr++;
            }
        }
    }
    cout<<nr<<"\n";
    for ( int i = 0; i<nr; ++i)
        cout<<v_pozitie[i]<<" ";
}