Pagini recente » Cod sursa (job #1852478) | Cod sursa (job #589704) | Cod sursa (job #1314811) | Cod sursa (job #2312442) | Cod sursa (job #236915)
Cod sursa(job #236915)
#include<stdio.h>
#include<string.h>
char A[2000005],B[2000006];
int n,nr,m;
int a[1000001];
void citire()
{
fgets(A,2000001,stdin);
m=strlen(A)-1;
if(A[m]=='\n')
{A[m]='\0';
m--;
}
fgets(B,2000001,stdin);
n=strlen(B)-1;
if(B[n]=='\n')
{B[n]='\0';
n--;
}
}
void solve()
{
char *p=strstr(B,A);
while(p)
{nr++;
a[nr]=n-strlen(p)+1;
p=strstr(p+m,A);
}
}
void afis()
{
printf("%d\n",nr);
for(int i=1;i<=nr;i++)
printf("%d ",a[i]);
}
int main()
{
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
citire();
solve();
afis();
return 0;
}