Pagini recente » Cod sursa (job #2661352) | Cod sursa (job #1449315) | Cod sursa (job #1268762) | Cod sursa (job #2797646) | Cod sursa (job #1496322)
#include <fstream>
using namespace std;
ifstream fin("huri.in");
ofstream fout("huri.out");
int n,i,op,x;
typedef struct celula{
int val;
celula *next;
}*lista;
int mod=666013;
lista h[666013];
lista q;
lista prec;
void insert(int x)
{
int lin=x%mod;
for(lista p=h[lin]; p; p=p->next)
if(p->val==x) return;
q=new celula;
q->val=x;
q->next=h[lin];
h[lin]=q;
}
void del(int x)
{
int lin=x%mod;
if (h[lin]==NULL) return;
if(h[lin]->val==x) h[lin]=h[lin]->next;
else {
prec=h[lin];
q=prec->next;
while(q!=NULL)
{
if(q->val==x)
{
prec->next=q->next;
return;
}
prec=q;
q=q->next;
}
}
}
bool ret(int x)
{
int lin=x%mod;
for(lista p=h[lin]; p; p=p->next)
if(p->val==x) return 1;
return 0;
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>op>>x;
if(op==1) insert(x);
else if(op==2) del(x);
else fout<<ret(x)<<'\n';
}
return 0;
}