Pagini recente » Cod sursa (job #1690809) | Cod sursa (job #3345140) | Cod sursa (job #3345138) | Cod sursa (job #3345221) | Cod sursa (job #3345141)
#include <cstring>
#include <iostream>
#define NMAX 2000005
#define CNTMAX 1000
int main()
{
int n, m, cnt = 0;
char t[NMAX], p[NMAX];
int pos[CNTMAX];
freopen("strmatch.in", "r", stdin);
freopen("strmatch.out", "w", stdout);
scanf("%s %s", p, t);
m = strlen(p);
n = strlen(t);
for (int i = 0, j; i < n; ++i) {
for (j = 0; i + j < n && j < m; ++j)
if (t[i + j] != p[j])
break;
if (j == m) {
if (cnt < CNTMAX)
pos[cnt] = i;
++cnt;
}
}
std::cout << cnt << '\n';
for (int i = 0; i < cnt && i < CNTMAX; ++i)
std::cout << pos[i] << ' ';
std::cout << '\n';
return 0;
}