Pagini recente » Cod sursa (job #168791) | Cod sursa (job #383119) | Cod sursa (job #1907985) | Cod sursa (job #2799861) | Cod sursa (job #664484)
Cod sursa(job #664484)
#include <stdio.h>
#include <vector>
using namespace std;
#define REST 666013
int N;
vector<int> H[REST];
vector<int>::iterator gaseste(int x)
{
int lista = x % REST;
vector<int>::iterator i;
for (i=H[lista].begin(); i!= H[lista].end(); ++i)
if (*i == x)
return i;
return H[lista].end();
}
void insereaza(int x)
{
int lista= x % REST;
if (gaseste(x) == H[lista].end())
H[lista].push_back(x);
}
void sterge(int x)
{
int lista = x % REST;
vector<int>::iterator i = gaseste(x);
if (i!= H[lista].end())
H[lista].erase(i);
}
int main()
{
int op, x;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
for (scanf("%d", &N); N; --N)
{
scanf("%i %i", &op, &x);
if (op == 1)
{
insereaza(x);
continue;
}
if (op == 2)
{
sterge(x);
continue;
}
printf("%i\n", gaseste(x) != H[x % REST].end());
}
return 0;
}