Pagini recente » Cod sursa (job #1453530) | Cod sursa (job #1191343) | Cod sursa (job #1212969) | Cod sursa (job #1832643) | Cod sursa (job #1464848)
#include <iostream>
#include <cstdio>
#include <string.h>
using namespace std;
#define MAXN 2000001
char A[MAXN],B[MAXN];
long int v[1001];
int main()
{
int ma,mb,cnt=0,i,j;
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
cin >> A >> B;
ma=strlen(A);
mb=strlen(B);
mb=mb-ma;
for(i=0;i<=mb;i++)
{
if(B[i]==A[0])
{
for(j=0;j<ma;j++)
if(B[i+j]!=A[j]) break;
if(j>=ma) {cnt++;if(cnt<=1000)v[cnt]=i;}
}
}
cout << cnt << endl;
for(i=1;i<=min(1000,cnt);i++) cout << v[i] << " ";
return 0;
}