Cod sursa(job #2559118)
Utilizator | Data | 26 februarie 2020 23:49:51 | |
---|---|---|---|
Problema | Potrivirea sirurilor | Scor | 14 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.97 kb |
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define len 2000000
char A[len], B[len];
int main()
{
FILE *fin=fopen("strmatch.in", "r");
FILE *fout=fopen("strmatch.out", "w");
fgets(A, len, fin);
fgets(B, len, fin);
//printf("%s", A);
int i=0;
int nr=0;
while(i<strlen(A))
{
if(strstr(A+i, B)==A+i)
{
nr++;
}
i++;
}
fprintf(fout, "%d\n", nr);
if (nr>1000)
{
nr=0;
i=0;
while(i<strlen(A) && nr<1000)
{
if (strstr(A+i, B)==A+i)
{
nr++;
fprintf(fout, "%d ", i);
}
i++;
}
}
else
{
i=0;
while(i<strlen(A))
{
if(strstr(A+i, B)==A+i)
{
fprintf(fout, "%d ", i);
}
i++;
}
}
return 0;
}