Pagini recente » Cod sursa (job #2839627) | Cod sursa (job #1237761) | Cod sursa (job #2049621) | Cod sursa (job #1885836) | Cod sursa (job #1551550)
#include <stdio.h>
#include <string.h>
using namespace std;
char a[2000001], b[2000001];
int sol[1001], nr = 0;
int main()
{
FILE *fin, *fout;
fin = fopen("strmatch.in", "r");
fout = fopen("strmatch.out", "w");
int l;
fgets(a, 2000000, fin);
l = strlen(a);
a[l - 1] = NULL;
fgets(b, 2000000, fin);
l = strlen(b);
b[l - 1] = NULL;
char * poz = strstr(b, a);
while(poz != NULL)
{
int p = poz - b;
sol[++nr] = p;
poz = strstr(b + p + 1, a);
}
int x = nr;
if(nr > 1000)
x = 1000;
fprintf(fout, "%d\n", nr);
for(int i = 1; i <= x; i++)
{
fprintf(fout, "%d ", sol[i]);
}
return 0;
}