Pagini recente » Cod sursa (job #2294227) | Cod sursa (job #3254385) | Cod sursa (job #2407480) | Cod sursa (job #2624191)
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
#define MOD 666013
vector<int> HASH[MOD];
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
inline vector<int>::iterator find_value(int val, vector<int> &list)
{
vector<int>::iterator it;
for(it = list.begin(); it != list.end(); ++it)
{
if( *it == val)
{
return it;
}
}
return list.end();
}
void addElement(int val)
{
int cod = val % MOD;
if (find_value(val, HASH[cod]) == HASH[cod].end())
HASH[cod].push_back(val);
}
void deleteElement(int val)
{
int cod = val % MOD;
auto target = find_value(val, HASH[cod]);
if(target != HASH[cod].end())
{
HASH[cod].erase(target);
}
}
bool elementInList(int val)
{
int cod = val % MOD;
auto target = find_value(val, HASH[cod]);
return target != HASH[cod].end();
}
int main()
{
int n, cmd, val;
fin >> n;
for(int i = 0; i < n; ++i)
{
fin >> cmd >> val;
if(cmd == 1) {
addElement(val);
} else if(cmd == 2) {
deleteElement(val);
} else {
elementInList(val) ? fout << 1 << '\n': fout << 0 << '\n';
}
}
return 0;
}