Pagini recente » Cod sursa (job #2722157) | Cod sursa (job #2096759) | Cod sursa (job #2875178) | Cod sursa (job #2983281) | Cod sursa (job #1051696)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("hashuri.in");
ofstream fo("hashuri.out");
struct nod {
int val;
nod *next;
};
nod *v[44722];
int n,t,x;
void adauga(int a){
int h=a%44722;
nod *p=new nod;
p->val=a;
p->next=NULL;
nod *q=v[h];
if(q==NULL)
v[h]=p;
else {
while (q!=NULL){
if(q->val==a)
return;
q=q->next;
}
q=p;
}
}
void sterge(int a){
int h=a%44722;
if(v[h]==NULL)
return;
nod *q=v[h];
if(q->val==a){
v[h]=q->next;
delete q;
return;
}
while(q->next!=NULL){
nod *p=q->next;
if(p->val==a){
q->next=p->next;
delete p;
return;
}
else
q=q->next;
}
}
void exista(int a){
int h=a%44722;
nod *q=v[h];
while(q!=NULL){
if(q->val==a){
fo<<1<<'\n';
return;
}
else
q=q->next;
}
fo<<0<<'\n';
return;
}
int main()
{
fi>>n;
for (int i=1;i<=n;i++) {
fi>>t>>x;
if(t==1)
adauga(x);
else
if(t==2)
sterge(x);
else
exista(x);
}
return 0;
}