Pagini recente » Cod sursa (job #153916) | Cod sursa (job #2015142) | Cod sursa (job #1565482) | Cod sursa (job #1189136) | Cod sursa (job #2216856)
#include<stdio.h>
#include<string.h>
#define NMAX 2000005
char s[NMAX], p[NMAX];
int answers[NMAX], ans, n, m;
int main () {
freopen("strmatch.in","r",stdin);
freopen("strmatch.out","w",stdout);
scanf("%s", p + 1); m = strlen(p + 1);
scanf("%s", s + 1); n = strlen(s + 1);
for(int i = 1; i <= n - m + 1 && ans <= 1000; i++) {
int ok = 1;
for(int j = i; j <= i + m - 1; j++) {
if(s[j] != p[j - i + 1]){
ok = 0;
break;
}
}
if(ok)
answers[++ans] = i;
}
printf("%d\n", ans);
for(int i = 1; i <= ans; i++) {
printf("%d ", answers[i] - 1);
}
printf("\n");
return 0;
}