Pagini recente » Cod sursa (job #1360225) | Cod sursa (job #1455315) | Cod sursa (job #599435) | Cod sursa (job #2500315) | Cod sursa (job #626117)
Cod sursa(job #626117)
#include <fstream>
#define mod 666013
using namespace std;
int n,i,x,nro;
struct point{int inf;point *leg;} *h[666012];
ifstream f("hashuri.in");
ofstream g("hashuri.out");
void insert(int x)
{
int ind;
point *p;
ind=x%mod;
p=new point;
p->inf = x; p->leg = h[ind];
h[ind] = p;
return;
}
int search(int x)
{
int ind;
point *p;
p=new point;
ind=x%mod;
p=h[ind];
for(p = h[ind]; p!=NULL; p=p->leg ) if(p->inf==x) return 1;
return 0;
}
void errase(int x)
{
point *p,*u;
int ind;
ind=x%mod;
if(h[ind]->inf==x){p=h[ind];h[ind]=h[ind]->leg;delete p;}
else{
u=h[ind]; p=u->leg;
while(p->inf!=x && p){u=p; p=p->leg;}
u->leg=p->leg;
delete p;
}
return;
}
int main()
{
f>>n;
for(i=0;i<=mod;i++){h[i]=NULL;}
for(i=1;i<=n;i++)
{
f>>nro>>x;
if(nro==1)insert(x);
if(nro==2)errase(x);
if(nro==3)g<<search(x)<<'\n';
}
f.close();
g.close();
return 0;
}