Cod sursa(job #929008)

Utilizator VladMSBonta vlad valentin VladMS Data 26 martie 2013 19:55:58
Problema Potrivirea sirurilor Scor 26
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb

#include <fstream>
#include <cstring>
#include<string>
#define NMAX 2000001
using namespace std;
ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
int i,j,n1,n2,rez[NMAX],poz,aux;
long long nr;
string s1,s2;
int main()
{
    fin>>s2;
    fin.get();
    fin>>s1;
    n1=s1.size();
    n2=s2.size();
    if(n2>n1)
    {
        fout<<-1<<'\n';
        return 0;
    }
    else
    do
    {
       poz=s1.find(s2);
        s1.erase(0,poz+1);
         if(nr<=n1&&poz!=-1)
        rez[++nr]=poz+aux;
        aux+=poz+1;
    }while(poz!=-1);
    fout<<nr<<'\n';
    for(i=1;i<=nr;++i)
        fout<<rez[i]<<" ";
    return 0;
}