Pagini recente » Cod sursa (job #129403) | Cod sursa (job #606433) | Cod sursa (job #1766412) | Cod sursa (job #3130503) | Cod sursa (job #180815)
Cod sursa(job #180815)
#include<stdio.h>
#include<string.h>
#define min(a,b) ((a>b)?b:a)
#define maxx 2000002
char a[maxx],b[maxx];
long long i,j,k,n,sol[1001];
int main(){
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
gets(a);gets(b);gets(b);
if(strlen(a)>strlen(b))
{printf("0");return 0;}
for(i=0;i<strlen(b)-strlen(a);i++)
{
for(j=0,k=1;j<strlen(a)&&k;j++)
if(a[j]!=b[i+j])
{k=0;i+=j;}
if(k==1)
{
n++;
if(n<1000)
sol[n-1]=i;
i++;
}
}
printf("%d\n",n);
for(i=0;i<min(1000,n);i++)
printf("%d ",sol[i]);
return 0;
}