Cod sursa(job #991868)

Utilizator robertstrecheStreche Robert robertstreche Data 31 august 2013 17:24:19
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <cstring>
using namespace std;

ifstream f("strmatch.in");
ofstream g("strmatch.out");
char a[2000001],b[2000001];
long long i,j,k,n1,n2,nr,ok,d[1000000];
int main()
{
   f.getline(a+1,2000001);
    f.getline(b+1,2000001);
    a[0]=b[0]=' ';

    n1=strlen(a)-1;
    n2=strlen(b)-1;

    for (i=1;i<=n2-n1+1;i++)
    {
        if (b[i]==a[1])
        {   ok=1;

            for (j=2;j<=n1;j++)

                 if (a[j]!=b[i+j-1])
                   {
                       ok=0;
                       break;
                    }

            if(ok==1){nr++;d[nr]=i-1;}

        }
    }
    g<<nr<<'\n';
    for(i=1;i<=nr;i++)g<<d[i]<<" ";
    f.close();
    g.close();
}