Cod sursa(job #2099489)

Utilizator Andreiii500Andrei Puiu Andreiii500 Data 4 ianuarie 2018 14:28:45
Problema Abc2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<iostream>
#include<fstream>
#include<unordered_map>
#include<cstring>
using namespace std;

ifstream in("abc2.in");
ofstream out("abc2.out");

const int N = 10000002;
const int M = 50002;
int n,m;

int main()
{
    unordered_map<string, int> fcv;
    char sir[N], cuv[M];

    in.getline(sir, N);

    m = 0;
    while(in.getline(cuv, M))
    {
        fcv[cuv] = 1;
        if(!m)
            m = strlen(cuv);
    }

    n = strlen(sir);

    ///cout<<sir<<"\n\n";
    int sol = 0;
    for(int i=m-1; i<n; ++i){
        char aux = sir[i+1];
        sir[i+1] = 0;
        sol += fcv[sir + i - m + 1];
        ///cout<<fcv[sir + i - m + 1]<<"    ";
        ///cout<<"sol = "<<sol<<"\n";
        sir[i - m + 1] = 0;
        sir[i+1] = aux;
    }

    out<<sol;

    return 0;
}