Cod sursa(job #1569716)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 15 ianuarie 2016 21:01:12
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#define VAL 2000005

using namespace std;

ifstream fin("strmatch.in");
ofstream fout("strmatch.out");

int A, B, i, j;
int nr, v[VAL];
string a, b;
string s;

int main()
{
    fin >> a;
    fin >> b;
    A=a.size();
    B=b.size();
    for (i=0; i<B; i++)
    {
        if (i<A)
          s+=b[i];
        else
        {
            for (j=0; j<=A-2; j++)
              swap(s[j], s[j+1]);
            s[A-1]=b[i];
        }
        if (i>=A-1 && s==a)
        {
            nr++;
            v[nr]=i-A+1;
        }
    }
    fout << min(1000, nr) << '\n';
    for (i=1; i<=min(1000, nr); i++)
      fout << v[i] << " ";
    fin.close();
    fout.close();
    return 0;
}