Pagini recente » Cod sursa (job #656466) | Cod sursa (job #3258964) | Cod sursa (job #3203450) | Cod sursa (job #176385) | Cod sursa (job #1517688)
#include <iostream>
#include<cstdio>
#define mod 6526813
#define MAXM 1000000
using namespace std;
int n,m,k, lista[mod+1], val[MAXM+1], nxt[MAXM+1];
void adauga(int x)
{
int p=lista[x%mod];
while(p){
if(val[p]==x)
return;
p=nxt[p];
}
k++;
val[k]=x;
nxt[k]=lista[x%mod];
lista[x%mod]=k;
}
void sterge(int x)
{
int p=lista[x%mod];
while(p)
{
if(val[p]==x){
val[p]=-1;
return;
}
p=nxt[p];
}
}
int cauta(int x)
{
int p=lista[x%mod];
while(p){
if(val[p]==x)
return 1;
p=nxt[p];
}
return 0;
}
int main()
{
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
int op, i,x;
scanf("%d", &m);
for(i=1;i<=m;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;
}