Cod sursa(job #2245394)

Utilizator ionut23catelinaIoan Catelina ionut23catelina Data 25 septembrie 2018 10:59:50
Problema Potrivirea sirurilor Scor 24
Compilator c Status done
Runda Arhiva educationala Marime 0.82 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    FILE *f = fopen("strmatch.in", "r");
    FILE *g = fopen("strmatch.out", "w");

    char *A;
    char *B;
    char *C;
    A = (char*)malloc(2000000*sizeof(char));
    B = (char*)malloc(2000000*sizeof(char));
    C = (char*)malloc(2000000*sizeof(char));

    int *x, k = 0, i;
    x = (int*)malloc(1000*sizeof(int));

    fscanf(f, "%s", A);
    fscanf(f, "%s", B);

    strcpy(C, strstr(B, A));

    while (C != NULL){
        x[k] = strlen(B) - strlen(C);
        B[x[k] + 1] = ' ';
        k++;

        if (strstr(B, A) != NULL)
            strcpy(C, strstr(B, A));
        else
            C = NULL;
    }

    fprintf(g, "%d\n", k);
    for (i = 0; i < k; i++)
        fprintf(g, "%d ", x[i]);

    return 0;
}