Pagini recente » Cod sursa (job #1999631) | Cod sursa (job #1498769)
#include<fstream>
#define p 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n;
struct lista{int x; lista *leg;} *H[666013];
void adaug(int x)
{
int r=x%p;
lista *q;
q=new lista;
q->x=x;
q->leg=H[r];
H[r]=q;
}
int cauta(int x)
{
lista *q;
int r=x%p;
for(q=H[r];q&&q->x!=x;q=q->leg);
if(!q) return 0;
else return 1;
}
void sterge(int x)
{
int r=x%p;
if(H[r]->x==x)
{
lista *q;
q=H[r];
H[r]=H[r]->leg;
delete q;
}
else
{
lista *q;
lista *k;
for(q=H[r];q&&q->leg->x!=x;q=q->leg);
k=q->leg;
q->leg=k->leg;
delete k;
}
}
int main()
{
f>>n; int op,x;
for(int i=1;i<=n;++i)
{
f>>op>>x;
if(op==1){ adaug(x); continue;}
if(op==2) {sterge(x); continue;}
g<<cauta(x)<<'\n';
}
}