Pagini recente » Cod sursa (job #2258919) | Cod sursa (job #2480613) | Cod sursa (job #2853494) | Cod sursa (job #1964155) | Cod sursa (job #1217522)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
const int mod = 100019;
vector<int> hashTable[100019];
inline void insert(int elt){
hashTable[elt % mod].push_back(elt);
}
inline void remove(int elt){
int remainder = elt % mod;
if(hashTable[remainder].size() > 0){
int j = 0;
for(; j < (int)hashTable[remainder].size(); j++){
if(hashTable[remainder][j] == elt)
break;
}
if(j != (int) hashTable[remainder].size())
hashTable[remainder].erase(hashTable[remainder].begin() + j);
}
}
inline void find(int elt){
int remainder = elt % mod;
if(hashTable[remainder].size() > 0){
int j = 0;
for(; j < (int)hashTable[remainder].size(); j++){
if(hashTable[remainder][j] == elt)
break;
}
if(j != (int) hashTable[remainder].size())
printf("1\n");
else
printf("0\n");
}
else
printf("0\n");
}
int main(){
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int n,x,y;
scanf("%d",&n);
while(n--){
scanf("%d%d",&x,&y);
switch(x){
case 1: insert(y); break;
case 2: remove(y); break;
case 3: find(y); break;
}
}
return 0;
}