Pagini recente » Cod sursa (job #2338900) | Cod sursa (job #2590606) | Cod sursa (job #2607395) | Cod sursa (job #2369172) | Cod sursa (job #3232032)
#include <iostream>
#include <fstream>
#define MOD 666013
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
struct nod
{
int info;
nod *urm;
}*H[MOD],*p;
void sterge(int x)
{
int ind = x % MOD;
nod *p, *u;
p=u=H[ind];
if(H[ind])
{
if(H[ind]->info==x) H[ind]=H[ind]->urm;
else
{
while(p && p->info != x)
{
u=p;
p=p->urm;
}
if(p) u->urm=p->urm;
}
}
}
void scrie(int x)
{
int ind=x%MOD;
nod *p = H[ind];
while(p)
{
if(p->info==x){
fout<<1 << '\n';
return;}
}
fout << 0 << '\n';
}
int main()
{
int n,op,x;
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>op>>x;
int ind=x%MOD;
if(op==1)
{
nod *p=new nod;
p->info=x;
p->urm=H[ind];
H[ind]=p;
}
else if(op==2) sterge(x);
else if(op==3) scrie(x);
}
return 0;
}