Pagini recente » Cod sursa (job #2185852) | Cod sursa (job #738679) | Cod sursa (job #2142617) | Cod sursa (job #658223) | Cod sursa (job #495918)
Cod sursa(job #495918)
#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%111))==0)
ins(x,n%111);
if (op==2)
if (caut(x,n%111)==1) sterge(x,n%111);
if (op==3)
if (caut(x,n%111)==1) printf("1\n");
else printf("0\n");
}
return 0;
}