Cod sursa(job #1359767)

Utilizator ggokGeri Gokaj ggok Data 25 februarie 2015 02:17:29
Problema Potrivirea sirurilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <vector>
#include <cstdlib>
#include <fstream>
#include <cmath>

using namespace std;
int main()
{
    //freopen("strmatch.in","r",stdin);
    //freopen("strmatch.out","w",stdout);
    vector<int>ind;
string a;
string b;
char k;
int q,p;
int index=0;
int counter=0;
int start;
int tru=0;
cin>>b>>a;
k=b[index];
for(int x=0;x<a.size();x++){
    if(tru==b.size())
    {
    counter++;
    index=0;
    ind.push_back(start);
    x=start+1;
    k=b[index];
    //cout<<"LALA"<<a[x]<<" \n";
    }
    if(a[x]==k){
    tru++;
    if(index==0)
    start=x;
    q=x;
    k=b[++index];
    }
else if(a[x]!=k){
tru=0;
if(index>0)
k=b[--index];
    }
}
cout<<counter<<" \n";
for(int x=0;x<ind.size();x++)
    cout<<ind[x]<<" ";


return 0;
}