Cod sursa(job #2296995)

Utilizator mircearoataMircea Roata Palade mircearoata Data 5 decembrie 2018 10:20:34
Problema Abc2 Scor 0
Compilator cpp-64 Status done
Runda prega_casi_5.12.2018 Marime 0.85 kb
#include <fstream>
#include <cstring>
#include <algorithm>
#include <vector>

using namespace std;

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

int h[10000001], cnt, n, len, ans;
char ch[10000001];
char cuv[50001][21];
vector<char*> cuvinte;

int main()
{
    in >> ch;
    while(!in.eof())
        in >> cuv[cnt++];
    for(int i = 0; i < cnt; i++)
        cuvinte.push_back(cuv[i]);
    n = strlen(cuv[0]);
    len = strlen(ch);
    sort(cuvinte.begin(), cuvinte.end(), [](char *l, char *r) {return strcmp(l, r) < 0;});
    for(int i = 1; i < cnt; i++)
    {
        char* result = ch;
        while ((result = strstr(result, cuvinte[i])) != NULL) {
            ans++;
            ++result;
        }
        while(i < cnt - 1 && strcmp(cuvinte[i], cuvinte[i+1]) == 0)
            i++;
    }
    out << ans;
    return 0;
}