Pagini recente » Cod sursa (job #982598) | Cod sursa (job #2702598) | Cod sursa (job #838818) | Cod sursa (job #2734041) | Cod sursa (job #734814)
Cod sursa(job #734814)
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
#define SIZE 666013
typedef vector< vector<int> > Hash;
Hash hash(SIZE, vector<int>());
bool in_hash(int what)
{
int hs = what % SIZE;
int sz = hash[hs].size();
for(int i=0; i<sz; i++)
{
if(hash[hs][i] == what)
{
return true;
}
}
return false;
}
void insert(int what)
{
int hs = what % SIZE;
if(!in_hash(what))
{
hash[hs].push_back(what);
}
}
void del(int what)
{
int hs = what % SIZE;
int sz = hash[hs].size();
for(int i=0; i<sz; i++)
{
if(hash[hs][i] == what)
{
hash[hs].erase(hash[hs].begin() + i);
return;
}
}
}
int main()
{
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int N, Type, X;
scanf("%d", &N);
for(int i=0; i<N; i++)
{
scanf("%d %d", &Type, &X);
switch(Type)
{
case 1:
insert(X);
break;
case 2:
del(X);
break;
case 3:
printf("%d\n", in_hash(X) == true ? 1 : 0);
break;
}
}
return 0;
}