Pagini recente » Cod sursa (job #1813564) | Cod sursa (job #192092) | Cod sursa (job #2331170) | Cod sursa (job #3208091) | Cod sursa (job #1979883)
#include<fstream>
using namespace std;
#define MOD 666013
ifstream f("hashuri.in");
ofstream g("hashuri.out");
struct nod{
int inf;
nod *urm;
} *a[666015];
int n;
int find(int x)
{
int gasit=0;
if(a[x%MOD]!=NULL)
{
for(nod *p=a[x%MOD];p!=NULL;p=p->urm)
if(p->inf==x)
{gasit=1;break;}
}
return gasit;
}
void insert( int x)
{
nod *p=new nod;
p->inf=x;p->urm=a[x%MOD];
a[x%MOD]=p;
}
void del(int x)
{
nod *p=a[x%MOD];
if(p->inf==x){a[x%MOD]=p->urm; delete p;}
else
for(nod* p=a[x%MOD];p->urm!=NULL;p=p->urm)
if(p->urm->inf==x)
{
nod *q=p->urm;
p->urm=p->urm->urm;
delete q;
break;
}
}
int main()
{
f>>n;
for(int i=1;i<=n;i++)
{
int op,x;
f>>op>>x;
switch(op)
{
case 1:if(!find(x))insert(x);break;
case 2:if(find(x))del(x);break;
case 3:g<<find(x)<<'\n';
}
}
return 0;
}