Pagini recente » Cod sursa (job #468818) | Cod sursa (job #1259020) | Cod sursa (job #894183) | Cod sursa (job #2414965) | Cod sursa (job #1045899)
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const long BUCKETS=666013;
struct nod{
long inf;
nod *urm;
};
nod *hashtable[BUCKETS];
void ad(nod *&v,long n){
if (!v){
v=new nod;
v->inf=n;
v->urm=0;
}
else{
nod *c=new nod;
c->urm=v;
c->inf=n;
v=c;
}
}
void st(nod *&v,long n){
nod *p=v,*d;
while(p && p->inf!=n){
d=p;
p=p->urm;
}
if(p){
if(p==v){
v=v->urm;
delete p;
}
else{
d->urm=p->urm;
delete p;
}
}
}
void fd(nod *v,long n){
for(;v && v->inf!=n;v=v->urm);
if(v) fout<<1<<"\n";
else fout<<0<<"\n";
}
int main(){
long val,n,k,i;
short com;
fin>>n;
for(i=0;i<n;++i){
fin>>com;
fin>>val;
k=val % BUCKETS;
if(com==1)
{
ad(hashtable[k],val);
break;
}else if(com==2)
{
st(hashtable[k],val);
break;
}
else{
fd(hashtable[k],val);
break;
}
}
return 0;
}