Pagini recente » Cod sursa (job #1020605) | Cod sursa (job #2909907) | Cod sursa (job #2386907) | Cod sursa (job #2588357) | Cod sursa (job #629258)
Cod sursa(job #629258)
#include<stdio.h>
#include<vector>
#define Hash 666013;
#include<algorithm>
#include<assert.h>
using namespace std;
int numar_operatii;
vector <int> tabela_hash[666014];
void remove(int numar,int k){
for(unsigned int i=0;i<tabela_hash[k].size();i++)
if(tabela_hash[k][i]==numar){
tabela_hash[k][i]=0;
return;
}
}
bool find_val(int numar,int k){
for(unsigned int i=0;i<tabela_hash[k].size();i++)
if(tabela_hash[k][i]==numar)
return 1;
return 0;
}
int main(){
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d", &numar_operatii);
int k;
int numar,operatie;
for(int i=1;i<=numar_operatii;i++){
scanf("%d", &operatie);
scanf("%d", &numar);
k=numar % Hash;
if(operatie==2)
remove(numar,k);
else{
bool result=find_val(numar,k);
if(operatie==1){
if(!result)
tabela_hash[k].push_back(numar);
}
else
if(result)
printf("1\n");
else printf("0\n");
}
}
return 0;
}