Pagini recente » Cod sursa (job #882011) | Cod sursa (job #648484) | Cod sursa (job #1832148) | Cod sursa (job #857311) | Cod sursa (job #2313035)
#include <fstream>
#include <vector>
#define input "hashuri.in"
#define output "hashuri.out"
#define MOD 765007
using namespace std;
ifstream in(input);
ofstream out(output);
vector < long long > keys[MOD];
int operatii;
void Insert_OP(int key, long long number)
{
for (unsigned i = 0; i < keys[key].size(); i++)
if (keys[key][i] == number) return;
keys[key].push_back(number);
}
void Delete_OP(int key, long long number)
{
int poz = -1;
for (unsigned i = 0; i < keys[key].size() && poz == -1; i++)
if (keys[key][i] == number) poz = i;
if (poz != -1)
keys[key].erase(keys[key].begin() + poz);
}
bool Find_OP(int key, long long number)
{
for (unsigned i = 0; i < keys[key].size(); i++)
if (keys[key][i] == number) return true;
return false;
}
int Hash_X(long long number)
{
return number % MOD;
}
void Solve()
{
in >> operatii;
while (operatii--)
{
int op; long long n;
in >> op >> n;
int key = Hash_X(n);
if (op == 1) Insert_OP(key, n);
else if (op == 2) Delete_OP(key, n);
else out << Find_OP(key, n) << "\n";
}
}
int main()
{
Solve();
return 0;
}