Pagini recente » Cod sursa (job #1144668) | Cod sursa (job #392091) | Cod sursa (job #2788748) | Cod sursa (job #2238493) | Cod sursa (job #541063)
Cod sursa(job #541063)
#include <stdio.h>
#include <string.h>
char a[2000001],b[2000001];
int v[2000001];
inline void cauta(int la,int lb)
{
int aux;
int i;
int k,nr;
char *p;
nr=0;
p=strchr(b,a[0]);
while (p)
{i=p-b;
k=1;aux=0;
for(int j=1;j<la && k==1;j++)
if(b[i+j]!=a[j])
k=0;
if(k==1)
{nr++;
v[nr]=i;}
p++;
p=strchr(p,a[0]);
}
printf("%d\n", nr);
if(nr>1000)
nr=1000;
for(int i=1;i<=nr;i++)
printf("%d ",v[i]);
}
int main()
{
int la,lb;
freopen("strmatch.in", "r", stdin);
freopen("strmatch.out", "w", stdout);
scanf("%s %s", a, b);
la = strlen(a);
lb = strlen(b);
cauta(la,lb);
return 0;
}