Pagini recente » Cod sursa (job #1074355) | Cod sursa (job #2756115) | Cod sursa (job #802111) | Cod sursa (job #1439343) | Cod sursa (job #1359767)
#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;
}