Pagini recente » Cod sursa (job #706062) | Cod sursa (job #1764602) | Cod sursa (job #1251592) | Cod sursa (job #1971221) | Cod sursa (job #1429943)
#include <stdio.h>
#include <vector>
using namespace std;
#define maxn 2000000
char a[maxn], b[maxn];
int k;
vector<int> r;
void read()
{
FILE* f = fopen("strmatch.in", "r");
fscanf(f, "%s%s", a, b);
}
void match(int i)
{
int j = 0;
while (a[j])
{
if (a[j] != b[i] || !a[j] || !b[i])
return;
++j;
++i;
}
++k;
r.push_back(i - j);
}
int main()
{
read();
int i = 0;
while (b[i])
{
if (b[i] == a[0])
match(i);
++i;
}
FILE* g = fopen("strmatch.out", "w");
fprintf(g, "%d\n", k);
for (int i = 0; i < ( r.size() <= 1000 ? r.size() : 1000); ++i)
fprintf(g, "%d ", r[i]);
return 0;
}