Pagini recente » Cod sursa (job #3190573) | Cod sursa (job #729435) | Cod sursa (job #2907755) | Cod sursa (job #1494834) | Cod sursa (job #785357)
Cod sursa(job #785357)
#include<fstream>
#define P 666013
using namespace std;
struct nod{int info;nod*adr;}*v[P],*p,*q;
int n,i,op,nr;
void insereaza(int nr)
{int x=nr%P;
p=new nod;
p->info=nr; p->adr=v[x]; v[x]=p;
}
void sterge(int nr)
{int x=nr%P;
nod*cp=v[x];
while(v[x])
{
if(v[x]->info==nr)
v[x]->info=-1;
v[x]=v[x]->adr;
}
v[x]=cp;
}
int cauta(int nr)
{int x=nr%P,gasit=0;
p=v[x];
while(p)
{
if(p->info==nr){gasit=1;break;}
p=p->adr;
}
return gasit;
}
int main()//insereaza,sterge,verifica daca exista nr....nr<=2000.000.000
{
ifstream f("hashuri.in");ofstream g("hashuri.out");
f>>n;
for(i=1;i<=n;i++)
{
f>>op>>nr;
if(op==1)insereaza(nr); else
if(op==2)sterge(nr); else
if(op==3)g<<cauta(nr)<<'\n';
}
f.close();g.close();
return 0;}