Pagini recente » Profil skyskater | Cod sursa (job #2130892) | Cod sursa (job #2884429) | Cod sursa (job #2457879) | Cod sursa (job #904798)
Cod sursa(job #904798)
#include <cstdio>
#include <vector>
#define NMAX 100002
using namespace std;
int n,x;
vector <int> Hash[NMAX];
int search(int X){
int key = X%NMAX;
for(vector < int >::iterator it = Hash[key].begin();it!=Hash[key].end();++it)
if(*it == X)
return 1;
return 0;
}
void adaug(int X){
int key = X%NMAX;
if(!search(X))
Hash[key].push_back(X);
}
void Delete(int X){
int key = X%NMAX;
for(vector < int >::iterator it = Hash[key].begin();it!=Hash[key].end();++it)
if(*it == X){
Hash[key].erase(it);
return ;
}
}
int main(){
int op,X;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for(register int i=1;i<=n;++i){
scanf("%d%d",&op,&X);
switch(op){
case 1: adaug(X);
break;
case 2: Delete(X);
break;
case 3: printf("%d\n",search(X));
break;
};
}
return 0;
}