Cod sursa(job #2675028)

Utilizator OrosIacobOros Iacob OrosIacob Data 21 noiembrie 2020 09:26:14
Problema Potrivirea sirurilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <fstream>
#include <string.h>

using namespace std;

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

#define MAXLENGTH 2000001

/* Variable Declarations */
char text[MAXLENGTH], pattern[MAXLENGTH];
int t, p;
int n, result[MAXLENGTH];

/// Part b. Ignore for now
int lps[MAXLENGTH];


void calculateLPSArray()
{

}

void printLPSArray() {
    for (int i=0; i<p; i++) {
        fout<<lps[i]<<" ";
    }
    fout<<endl;
}

void findPatternMatches() {
    char *p=strstr(text,pattern);
  while(p)
    {
       result[n++] = p-text;
        p = strstr(p+1,pattern);
    }
}
void printResult() {
    cout<<n<<endl;
    if (n > 1000) {
        n = 1000;
    }

    for (int i=0; i<n; i++) {
        cout<<result[i]<<" ";
    }
}

int main()
{
    fin.getline(pattern, MAXLENGTH);
    fin.getline(text, MAXLENGTH);
    p = strlen(pattern);
    t = strlen(text);

    findPatternMatches();
    printResult();

    return 0;
}