Cod sursa(job #1526756)

Utilizator radoneNeacsu Radu-Stefan radone Data 17 noiembrie 2015 10:22:36
Problema Potrivirea sirurilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;

ifstream f("strmatch.in");
ofstream g("strmatch.out");

int main()
{
    char a[2000000],b[2000000];
    f>>a>>b;
    int i,j,p,k,v[2000000],n,m;
    n=strlen(a);
    m=strlen(b);
    i=j=k=0;
    while(j<m-1)
    {
        if(a[i] == b[j])
        {
            p = j;
            while(i<n && j< m && a[i] == b[j])
            {
                i++;
                j++;
            }
            if(i == n)
            {
                i=0;
                v[++k] = p;
                j = p+1;
            }
            else
            {
                i = 0;
                j = p+1;
            }
        }
        else
            j++;
    }
    g<<k<<'\n';
    if(k<=1000)
        for(i=1;i<=k;i++)
            g<<v[i]<<" ";
    else
        for(i=1;i<=1000;i++)
            g<<v[i]<<" ";
    f.close();
    g.close();
    return 0;
}