Pagini recente » Cod sursa (job #151018) | Monitorul de evaluare | Diferente pentru home intre reviziile 116 si 115 | Monitorul de evaluare | Cod sursa (job #180814)
Cod sursa(job #180814)
#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[maxx];
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;
}