Cod sursa(job #2675185)

Utilizator eduardsandu_Eduard Sandu eduardsandu_ Data 21 noiembrie 2020 11:00:49
Problema Potrivirea sirurilor Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.1 kb
#include <iostream>
#include <fstream>
#include <strings.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, k, ok, num;
int n, result[MAXLENGTH], v[MAXLENGTH], m;

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

int main()
{
    fin.getline(pattern, MAXLENGTH);
    fin.getline(text, MAXLENGTH);
    p = strlen(pattern);
    t = strlen(text);
    for (int i = 0; i < t; i++)
    {
        if(text[i] == pattern[0])
        {
            k = i + 1;
            ok = 1;
            for (int j = 1; j < p; j++)
                {
                    if (text[k] != pattern[j])
                    {
                        ok = 0;
                        break;
                    }
                }
            if (ok == 1)
            {
                num++;
                v[m++] = i;
            }
        }
    }
    fout << num;
    fout << endl;
    for (int i = 0; i < m; i++)
        fout << v[i] << ' ';
    return 0;
}