Pagini recente » Cod sursa (job #1140346) | Cod sursa (job #2817460) | Cod sursa (job #2197045) | Cod sursa (job #2183580) | Cod sursa (job #1074693)
#include <iostream>
#include <fstream>
using namespace std;
int n,x,tip,i;
long m =666013;
struct nod
{
int val;
nod *next;
};
nod *h[666013];
int main()
{nod *p,*c,*e;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>tip>>x;
if(tip==1)
{
for(p=h[x%m];p && p->val!=x;p=p->next);
if(!p)
{
c=new nod;
c->val=x;
c->next=h[x%m];
h[x%m]=c;
}
}
else if (tip==2)
{
p=h[x%m];
e=h[x%m];
if(p)
{
if(p->val==x)
{
c=h[x%m];
h[x%m]=h[x%m]->next;
delete c;
}
else
{while (e->next != NULL && e->next->val != x)
e=e->next;
if (e->next!= NULL)
{
c=e->next;
e->next=e->next->next;
delete c;
}}}
}
else if(tip==3)
{
for(p=h[x%m];p && p->val!=x;p=p->next);
if(p)
g<<1<<'\n';
else g<<0<<'\n';
}
}
}