Pagini recente » Cod sursa (job #2793060) | Cod sursa (job #1575632) | Cod sursa (job #336945) | Cod sursa (job #792138) | Cod sursa (job #2119097)
#include <fstream>
using namespace std;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
struct elm
{
int info;
elm * urm;
};
elm * v[666015],*p;
const int mod=666013;
int x,n,i,op;
void adaug(int x)
{
elm *p;
p=new elm;
p->info=x;
p->urm=v[x%mod];
v[x%mod]=p;
}
void sterg(int x)
{
elm *q;
if(v[x%mod]->info==x)
{
q=v[x%mod];
v[x%mod]=q->urm;
delete q;
}
else
{
for(elm *p=v[x%mod];p->urm!=NULL;p=p->urm)
{
if(p->urm->info==x)
q=p->urm;
p->urm=q->urm;
delete q;
}
}
}
bool apartine(int x)
{
for(elm *p=v[x%mod];p!=0;p=p->urm)
{
if(p->info==x)
return 1;
return 0;
}
}
int main()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>op>>x;
if(op==1)
{
if(apartine(x)==0)
adaug(x);
}
else
if(op==2)
{
if(apartine(x)==1)
sterg(x);
}
else
cout<<apartine(x)<<'\n';
}
return 0;
}