Pagini recente » Cod sursa (job #2731446) | Cod sursa (job #673372) | Cod sursa (job #397336) | Cod sursa (job #3207879) | Cod sursa (job #495917)
Cod sursa(job #495917)
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
struct point
{
int inf;
point *leg;
};
point *u,*q,*a[100000],*p,*pp,*qq;
int n,i,nr,x,op;
int caut(int q,int qqq)
{
qq=a[q%qqq];
while (qq!=NULL)
{
if (qq->inf==q) return 1;
qq=qq->leg;
}
return 0;
}
void ins(int q,int qqq)
{
p=new point;
p->inf=q;
p->leg=NULL;
if (a[q%qqq]!=NULL)
p->leg=a[q%qqq];
a[q%qqq]=p;
}
void sterge(int q,int qqq)
{
qq=a[q%qqq];
if (qq==NULL) return;
while (qq&&qq->inf!=q) qq=qq->leg;
if (qq) qq->inf=0;
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
{
scanf("%d%d",&op,&x);
if (op==1)
if ((caut(x,n%11))==0)
ins(x,n%11);
if (op==2)
if (caut(x,n%11)==1) sterge(x,n%11);
if (op==3)
if (caut(x,n%11)==1) printf("1\n");
else printf("0\n");
}
return 0;
}