Cod sursa(job #2831072)

Utilizator rapidu36Victor Manz rapidu36 Data 10 ianuarie 2022 20:11:33
Problema Abc2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <unordered_map>
#include <string>

using namespace std;

const int NL = 26;

unordered_map <unsigned int, bool> c;

unsigned int codul(string &s)
{
    unsigned int cod = 0;
    for (auto c: s)
    {
        cod = cod * NL + (c - 'a');
    }
    return cod;
}

int main()
{
    ifstream in("abc2.in");
    ofstream out("abc2.out");
    string text, cuvant;
    in >> text;
    while (in >> cuvant)
    {
        c[codul(cuvant)] = true;
    }
    int l = cuvant.length(), nr = 0;
    for (int i = 0;  i + l - 1 < text.length(); i++)
    {
        string s = text.substr(i, l);
        //out << s << endl;
        if (c[codul(s)])
        {
            //out << "***" + s << endl;
            nr++;
        }
    }
    out << nr;
    in.close();
    in.close();
    return 0;
}