Pagini recente » Cod sursa (job #1416783) | Cod sursa (job #2266022) | Cod sursa (job #470850) | Cod sursa (job #1845270) | Cod sursa (job #951536)
Cod sursa(job #951536)
#include <stdio.h>
#include <vector>
using namespace std;
#define MOD 100003
int N;
vector<int> G[MOD];
inline vector<int>::iterator Cauta(int x)
{
int k = x % MOD;
vector<int>::iterator it;
for (it = G[k].begin(); it != G[k].end(); ++it)
if (*it == x)
return it;
return G[k].end();
}
inline void Insereaza(int x)
{
int k = x % MOD;
if (Cauta(x) == G[k].end())
G[k].push_back(x);
}
inline void Sterge(int x)
{
int k = x % MOD;
vector<int>::iterator it = Cauta(x);
if (it != G[k].end())
G[k].erase(it);
}
int main()
{
int op, x;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &N);
for (; N; --N)
{
scanf("%d %d", &op, &x);
if (op == 1) // inserare
Insereaza(x);
if (op == 2) // stergere
Sterge(x);
else printf("%d\n", Cauta(x) != G[x % MOD].end());
}
return 0;
}