Cod sursa(job #2465306)

Utilizator dianaICHBghita diana dianaICHB Data 29 septembrie 2019 19:54:20
Problema Potrivirea sirurilor Scor 16
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.27 kb
#include <cstdio>
#include <cstring>
using namespace std;
char a[2000005],b[2000005],v[1005];
int main()
{
    freopen("strmatch.in","r",stdin);
    freopen("strmatch.out","w",stdout);
    int x,y,i,c=0,con,j;
    fgets(a,2000005,stdin);
    x=strlen(a);
    fgets(b,2000005,stdin);
    y=strlen(b);
    /*for (i=0;i<x;i++)
        printf("%c",a[i]);
        printf("\n");
    for (i=0;i<y;i++)
        printf("%c",b[i]);
        printf("\n");*/
        //printf("%d %d\n",x,y);
    for (i=0;i<y-1;i++)
    {
        if (b[i]==a[0])
        {
            con=0;
            for (j=0;j<x-1;j++)
            {
                //printf("b[i+j]=%c a[j]=%c j=%d\n",b[i+j],a[j],j);
                if (b[i+j]!=a[j])
                {
                    con=1;
                    //break;
                }
                //else

            }
            if (con==0)
            {
            c++;
            if (c<=1000)
            v[c]=i;
            //printf("sdcdsdjrdkh\n");
            }
                //printf("%d")
        }
    }
    printf("%d\n",c);
    if (c<=1000)
    {
    for (i=1;i<=c;i++)
        printf("%d ",v[i]);
    }
    else
    {
        for (i=1;i<=1000;i++)
        printf("%d ",v[i]);
    }
    return 0;
}