Pagini recente » Cod sursa (job #2451612) | Cod sursa (job #2714081) | Cod sursa (job #2710560) | Cod sursa (job #2451054) | Cod sursa (job #948036)
Cod sursa(job #948036)
#include<cstdio>
#include<vector>
using namespace std;
#define MOD 666013
vector <int> Hash[MOD];
int N;
inline vector<int>::iterator gaseste(int x){
int poz=x%MOD;
vector<int>::iterator it;
for(it=Hash[poz].begin();it!=Hash[poz].end();it++)
if(*it==x)
return it;
return Hash[poz].end();
}
int adauga(int x){
int poz=x%MOD;
if(gaseste(x)==Hash[poz].end())
Hash[poz].push_back(x);
}
int sterge(int x){
int poz=x%MOD;
vector <int>::iterator it=gaseste(x);
if(it!=Hash[poz].end())
Hash[poz].erase(it);
}
int main(){
int op,val,i;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&N);
for(i=1;i<=N;++i){
scanf("%d%d",&op,&val);
if(op==1){
adauga(val);
}
else if(op==2){
sterge(val);
}
else
printf("%d\n",gaseste(val) != Hash[val % MOD].end());
}
fclose(stdin);
fclose(stdout);
return 0;
}