Pagini recente » Cod sursa (job #1762009) | Cod sursa (job #1524156) | Cod sursa (job #2370180) | Cod sursa (job #2675566) | Cod sursa (job #3121598)
#include <fstream>
#include <string>
#include <vector>
#define mod 666013
using namespace std;
ifstream cin ("abc2.in");
ofstream cout ("abc2.out");
vector < vector <string> > tabel(mod);
string text;
bool Found (string cuvant)
{
hash <string> codificare;
int lista = codificare(cuvant) % mod;
for (auto cuvant_ : tabel[lista])
if (cuvant_ == cuvant)
return true;
return false;
}
void Insert (string cuvant)
{
hash <string> codificare;
int lista = codificare(cuvant) % mod;
for (auto cuvant_ : tabel[lista])
if (cuvant_ == cuvant)
return;
tabel[lista].push_back(cuvant);
}
int main ()
{
cin >> text;
string cuvant;
while (cin >> cuvant)
Insert(cuvant);
int pozitii = 0;
for (unsigned int indice = 0 ; indice <= text.size() - cuvant.size() ; indice++)
{
string candidat = text.substr(indice , cuvant.size());
if (Found(candidat) == true)
pozitii++;
}
cout << pozitii;
cout.close(); cin.close();
return 0;
}