Cod sursa(job #2559118)

Utilizator sky_walkerRusti Paula sky_walker 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;
}