Pagini recente » Cod sursa (job #262851) | Cod sursa (job #2922351) | Cod sursa (job #1305435) | Cod sursa (job #1110273) | Cod sursa (job #3323038)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
const int P=666013;
vector<int>H[P];
int n,op,x;
int getHash(int x){
return(1LL*x%P+P)%P;
}
bool gasit(int x){
int pos=getHash(x);
for(int element:H[pos]){
if(element==x)
return true;
}
return false;
}
void add(int x){
if(!gasit(x)){
int pos=getHash(x);
H[pos].push_back(x);
}
}
void remove(int x){
int pos=getHash(x);
for(int i=0;i<H[pos].size();i++){
if(H[pos][i]==x){
H[pos][i]=H[pos].back();
H[pos].pop_back();
return;
}
}
}
int main(){
ios_base::sync_with_stdio(false);
in.tie(NULL);
out.tie(NULL);
in>>n;
for(int i=1;i<=n;i++){
in>>op>>x;
if(op==1){
add(x);
}else if(op==2){
remove(x);
}else if(op==3){
if(gasit(x))
out<<1<<"\n";
else
out<<0<<"\n";
}
}
return 0;
}