Pagini recente » Cod sursa (job #849857) | Cod sursa (job #2208974) | Cod sursa (job #2149074) | Cod sursa (job #261383) | Cod sursa (job #192575)
Cod sursa(job #192575)
#include <stdio.h>
#include <string.h>
int n,m,k,i,j,t,a[15],b[15],q,c[1005];
char x;
int main()
{
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
k=0;
while (1)
{
scanf("%c",&x);
if (x=='\n') break;
++k;
if (x>='0' && x<='9') b[k]=b[k-1]+x;
else b[k]=b[k-1]+(x-'A');
}
n=0;
while (1)
{
scanf("%c",&x);
if (x=='\n') break;
++n;
if (x>='0' && x<='9') a[n]=a[n-1]+x;
else a[n]=a[n-1]+(x-'A');
}
int sol=0;
for (i=k; i<=n; ++i)
if (b[k]==a[i]-a[i-k])
{
q=1;
for (j=1; j<=k; ++j) if (b[j]!=a[i-k+j]-a[i-k]) { q=0; break; }
if (q) ++sol;
if (sol<=1000) c[sol]=i-k;
}
printf("%d\n",sol);
for (i=1; i<=sol; ++i) printf("%d ",c[i]);
return 0;
}