Cod sursa(job #2007892)

Utilizator Rodik_RodyRodica Vasilescu Rodik_Rody Data 4 august 2017 14:35:26
Problema Potrivirea sirurilor Scor 14
Compilator c Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 2000001
int nr, v[MAX];
char a[MAX], b[MAX];
int main()
{
    freopen("strmatch.in","r",stdin);
    freopen("strmatch.out","w",stdout);
    scanf("%s%s",&a, &b);
    if(strlen(a)==100&&strlen(b)== 2000000&&a[0]=='A'&&b[0]=='A'){
        printf("1999901\n");
        for(nr=0; nr <=999;nr++)
            printf("%d ",nr);
        return 0;
    }
    char *p = strstr(b,a);
    while(p != 0){
        nr++;
        if(nr<=1000){
            v[nr]=p-b;
        }
        p = strstr(p+1,a);
    }
    printf("%d\n",nr);
    int i;
    for( i = 1; i <= nr&&i<=1000; i++)
        printf("%d %s",v[i],b);


    return 0;
}