rendered paste body#include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
void LoadWords(vector<string>& words)
{
string leString;
getline(cin, leString);
for (unsigned int i = 0; i < leString.size(); i++)
{
if (leString[i] == '.' ||
leString[i] == ',' ||
leString[i] == '?' ||
leString[i] == '!')
{
leString[i] = ' ';
}
}
stringstream ss(leString);
string part;
while(!ss.eof())
{
ss >> part;
words.push_back(part);
}
}
void LoadDatas(vector<string>& bloomFilterWords, vector<string>& datas)
{
LoadWords(bloomFilterWords);
LoadWords(datas);
}
int main()
{
vector<string> bloomFilterWords;
vector<string> datas;
LoadDatas(bloomFilterWords, datas);
vector<bool> bloomFilter(26, false);
for (unsigned int i = 0; i < bloomFilterWords.size(); i++)
{
for (unsigned int j = 0; j < bloomFilterWords[i].size(); j++)
{
bloomFilter[tolower(bloomFilterWords[i][j]) - 'a'] = true;
}
}
int count = 0;
for (unsigned int i = 0; i < datas.size(); i++)
{
bool isInFilter = true;
for (unsigned int j = 0; j < datas[i].size(); j++)
{
isInFilter &= bloomFilter[tolower(datas[i][j]) -'a'];
}
if (isInFilter)
{
count++;
}
}
cout << count;
return 0;
}