Cod sursa(job #1000937)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 23 septembrie 2013 23:28:45
Problema Potrivirea sirurilor Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>
#include <vector>
#include <cstring>

using namespace std;

const int Nmax= 2000005;
char C[ Nmax ] , pattern[ Nmax ];
vector <int> sols;

int main()
{
    freopen("strmatch.in","r",stdin);
    freopen("strmatch.out","w",stdout);

    char *p;
    int nrs=0;
    scanf("%s\n%s",&pattern,&C);
    for(p = strstr(C,pattern);p!= NULL ;p=strstr(p+1,pattern))
    {
        ++nrs;
        if(sols.size()<1000)
             sols.push_back(p-C);
    }
    printf("%d\n",nrs);
    for(int i = 0; i < sols.size(); ++i)
        printf("%d ",sols[i]);
    return 0;
}