Cod sursa(job #2346855)

Utilizator aditzu7Adrian Capraru aditzu7 Data 18 februarie 2019 10:24:47
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <stdio.h>
#define MOD 1000000
using namespace std;
struct nod{
int inf;
nod *urm;

}*l[1000*1000];
void adaug(nod *&u,int x){
nod *p;
p=new nod;
p->inf=x;
p->urm=u;
u=p;

}
void stergere(nod *&u,int x){
nod *p;
int ok=1;

if(u==NULL) ok=0;

if(ok==1){p=u;
if(p->inf==x){
  u=u->urm;
  delete p;
  ok=0;

}
if(ok==1){
        while(p->urm!=NULL&&p->urm->inf!=x)p=p->urm;
if(p->urm!=NULL){
delete p->urm;

p->urm=p->urm->urm;

}
}

}
}
int afis(nod *u,int x){
for(nod *p=u;p;p=p->urm) if(p->inf==x) return 1;
return 0;


}
int p,x,n;
int main()
{


    freopen("hashuri.in","r",stdin);
    freopen("hashuri.out","w",stdout);
    scanf("%d",&n);
    for(int k=1;k<=n;k++){
        scanf("%d%d",&p,&x);
    if(p==1){
        adaug(l[x%MOD],x);


    }
    else if(p==2){
    stergere(l[x%MOD],x);


    }
    else{int sol=afis(l[x%MOD],x);
    printf("%d\n",sol);


    }


    }

       return 0;
}