Pagini recente » Cod sursa (job #1235884) | Cod sursa (job #733770) | Cod sursa (job #295022) | Cod sursa (job #107992) | Cod sursa (job #332039)
Cod sursa(job #332039)
#include<stdio.h>
#define MAX_N 2000000
char A[MAX_N],B[MAX_N];
int sol[1001];
int n,m,k;
int len(char *p) { return (*p ? len(++p)+1 : 0); }
void read(),solve(),show();
int main()
{
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
read();
solve();
show();
fclose(stdin); fclose(stdout);
return 0;
}
void read()
{
scanf("%s",&A);
scanf("%s",&B);
n = len(A);
m = len(B);
}
void solve()
{
int i,j;
for(i = 0; i <= m-n; i++)
{
j = 0;
while(A[j] == B[i+j] && j < n) j++;
if(j == n) sol[k++] = i;
if(k == 1000) break;
}
}
void show()
{
printf("%d\n",k);
for(int i = 0; i < k; i++)
printf("%d ",sol[i]);
}