Pagini recente » Cod sursa (job #2814735) | Cod sursa (job #2827546) | Cod sursa (job #2155105) | Cod sursa (job #543831) | Cod sursa (job #328150)
Cod sursa(job #328150)
#include<cstdio>
#include<vector>
#define mod 666013
#define IN "hashuri.in","r",stdin
#define OUT "hashuri.out","w",stdout
using namespace std;
int N;
vector<int> hash[mod];
int f(int x)
{
return x % mod;
}
int inter(int nr)
{
int d = f(nr);
int sz = hash[d].size();
for(int i = 0; i < sz; ++i)
if(hash[d][i] == nr)
return 1;
return 0;
}
void add(int nr)
{
int d = f(nr);
if(inter(nr) == 1) return ;
hash[d].push_back(nr);
}
void erase(int nr)
{
vector<int>::iterator it;
int d = f(nr);
for (it = hash[d].begin(); it != hash[d].end(); ++it)
if (*it == nr)
{
hash[d].erase(it);
return ;
}
}
int main()
{
freopen(IN);
freopen(OUT);
scanf("%d",&N);
int nr , tip;
for(int i = 1 ; i <= N ; ++i)
{
scanf("%d%d",&tip,&nr);
if(tip == 1) add(nr);
else if(tip == 2) erase(nr);
else printf("%d\n",inter(nr));
}
return 0;
}