Pagini recente » Cod sursa (job #555561) | Cod sursa (job #44627) | Cod sursa (job #366620) | Cod sursa (job #1178580) | Cod sursa (job #1817694)
#include <iostream>
#include<cstdio>
#define mod 6526813
#define MAXM 1000000
using namespace std;
int n,k, lista[mod+1], val[MAXM+1], next[MAXM+1];
void adauga(int x){
int p=lista[x%mod];
while(p!=0){
if(val[p]==x)
return;
p=next[p];
}
k++;
val[k]=x;
next[k]=lista[x%mod];
lista[x%mod]=k;
}
void sterge(int x){
int p=lista[x%mod];
while(p!=0){
if(val[p]==x){
val[p]=-1;
return;
}
p=next[p];
}
}
int cauta(int x){
int p=lista[x%mod];
while(p!=0){
if(val[p]==x)
return 1;
p=next[p];
}
return 0;
}
int main(){
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int op, i,x;
scanf("%d", &n);
for(i=1;i<=n;i++){
scanf("%d%d", &op, &x);
if(op==1)
adauga(x);
if(op==2)
sterge(x);
if(op==3)
printf("%d\n", cauta(x));
}
return 0;
}