Cod sursa(job #1462011)

Utilizator bublesbubles tiganu bubles Data 16 iulie 2015 21:14:18
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

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

int main(){
    int i, m, n, x, q = 0, v[1001];

    char a[2000001],b[2000001];

    for(m = 0;fin.get(a[m]) && a[m] != '\n'; m++);a[m] = '\0';
    for(n = 0;fin.get(b[n]) && b[n] != '\n'; n++);b[n] = '\0';
    fin.close();

    for(i = 0; i < n; i++){
        x = 0;
        if(a[m-1] == b[i + m-1])
            while( (x+i) < n && a[x] && a[x] == b[i + x])x++;
        if(x == m){
            v[q] = i;
            q++;
            if(q == 1000){
                break;
            }
        }
    }

    fout << q << endl;
    for(i = 0; i < q; i++){
        fout << v[i] << " ";
    }
    fout.close();
    return 0;
}