Pagini recente » Cod sursa (job #881904) | Cod sursa (job #1249388) | Cod sursa (job #2245395) | Cod sursa (job #2737911) | Cod sursa (job #714782)
Cod sursa(job #714782)
#include<cstdio>
using namespace std;
FILE *f,*g;
int m,n,i,j,nr,a[2000001],b[2000001],v[1001];
char c;
int main()
{f=fopen("strmatch.in","r");
g=fopen("strmatch.out","w");
fscanf(f,"%c",&c);
n=0;
while(c!='\n')
{++n;
a[n]=(int)c;
fscanf(f,"%c",&c);
}
m=0;
fscanf(f,"%c",&c);
while(c!='\n')
{++m;
b[m]=(int)c;
fscanf(f,"%c",&c);
}
for(i=1;i<=m-n+1;++i)
{for(j=1;j<=n;++j)
if(a[j]!=b[i+j-1])
break;
if(j>n)
++nr,v[nr]=i-1;
if(nr>1000)
break;
}
fprintf(g,"%d\n",nr);
for(i=1;i<=nr;++i)
fprintf(g,"%d ",v[i]);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}