Cod sursa(job #1829611)

Utilizator MithrilBratu Andrei Mithril Data 15 decembrie 2016 13:55:43
Problema Potrivirea sirurilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("strmatch.in");
ofstream fout("strmatch.out");
string pattern,omega;
vector<int> patternStart;
int cnt;

int main()
{
    fin>>pattern>>omega;
    std::hash<std::string> hashFunction;
    if(pattern.size()>omega.size())
    {
        fout<<0;
        return 0;
    }
    auto hashPattern = hashFunction(pattern);
    for(int i=0;i<=omega.size()-pattern.size();i+=1)
    {
        string aux(omega,i,pattern.size());
        auto hashAux = hashFunction(aux);
        if(hashAux==hashPattern&&pattern==aux)
        {
            cnt+=1;
            patternStart.push_back(i);
        }
    }
    fout<<cnt<<'\n';
    for(auto i:patternStart)fout<<i<<' ';
    return 0;
}