Pagini recente » Cod sursa (job #3153433) | Borderou de evaluare (job #1569182) | Cod sursa (job #664770) | Cod sursa (job #171324) | Cod sursa (job #2208208)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n,x,ans,i,mod=100129,y;
struct graf
{
int nd;
graf *next;
}*gr[100131],*q;
void adauga(int x)
{
graf *q = new graf;
q->nd=x;
q->next=gr[x%mod];
gr[x%mod]=q;
}
int verif(int x)
{
graf *p;
for(p=gr[x%mod];p!=NULL;p=p->next)
{
if(p->nd==x)
{
return 1;
}
}
return 0;
}
void sterge (int x)
{
graf *p,*q;
p=gr[x%mod];
if(p->nd==x)
{
gr[x%mod]=p->next;
delete p;
}
else
{
while(p->next->nd!=x)
{
p=p->next;
}
q=p->next;
p->next=q->next;
delete q;
}
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>ans;
if(ans==1)
{
fin>>x;
if(verif(x)==0)
{
adauga(x);
}
}
if(ans==2)
{
fin>>x;
if(verif(x)==1)
{
sterge(x);
}
}
if(ans==3)
{
fin>>x;
fout<<verif(x)<<"\n";
}
}
fin.close();
fout.close();
return 0;
}