Pagini recente » Cod sursa (job #191668) | Cod sursa (job #1682087) | Cod sursa (job #1565968) | Cod sursa (job #57439) | Cod sursa (job #2003871)
#include <stdio.h>
using namespace std;
const int P=1000005;
int poz[P];
int val[P];
int urm[P];
int main()
{
FILE *in, *out;
in = fopen("hashuri.in", "r");
out = fopen("hashuri.out", "w");
int n, t, x;
fscanf(in, "%d", &n);
int c=0;
for(int i=0; i<n; i++){
fscanf(in, "%d%d", &t, &x);
int raft=x%1000000;
if(t==1){
val[++c]=x;
urm[c]=poz[raft+1];
poz[raft+1]=c;
}
if(t==2){
int p=poz[raft+1];
int y;
while(p!=0){
y=val[p];
if(x==y){
val[p]=-1;
break;
}
p=urm[p];
}
}
if(t==3){
int p=poz[raft+1];
int y;
bool check=false;
while(p!=0){
y=val[p];
if(x==y){
check=true;
fprintf(out, "%d\n", 1);
break;
}
p=urm[p];
}
if(!check){
fprintf(out, "%d\n", 0);
}
}
}
return 0;
}