Pagini recente » Cod sursa (job #3288204) | Cod sursa (job #1338308) | Cod sursa (job #198327) | Cod sursa (job #31323) | Cod sursa (job #381300)
Cod sursa(job #381300)
#include<stdio.h>
#include<vector>
#define P 666013
using namespace std;
vector<int>H[P];
int N;
int find(int x)
{
int i, rest;
rest = x%P;
for (i = 0; i < H[rest].size(); i++)
if (H[rest][i] == x)
return i;
return -1;
}
void add(int x)
{
int rest;
rest = x%P;
if (find(x) == -1) H[rest].push_back(x);
}
void del(int x)
{
int rest, aux;
rest = x%P;
if (find(x) != -1)
{
aux = H[rest][find(x)];
H[rest][find(x)] = H[rest][H[rest].size() - 1];
H[rest][H[rest].size() - 1] = aux;
H[rest].pop_back();
}
}
void switch1(int ind, int nr)
{
if (ind == 1) add(nr);
else if (ind == 2) del(nr);
else if (ind == 3)
{
if(find(nr) == -1) printf("0\n");
else printf("1\n");
}
}
int main()
{
int i, ind, nr;
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d", &N);
for(i = 1; i <= N; i++)
{
scanf("%d %d", &ind, &nr);
switch1(ind, nr);
}
return 0;
}