Pagini recente » Cod sursa (job #2884077) | Cod sursa (job #3124502) | Cod sursa (job #675816) | Cod sursa (job #1748006) | Cod sursa (job #1226566)
#include <cstdio>
const int nmax=1<<21,prim=43;
int v[nmax],n,a,x;
inline int inc(int a)
{
if(++a==nmax) a=0;
return a;
}
using namespace std;
int main()
{
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
for(scanf("%d",&n);n;n--)
{
scanf("%d%d",&a,&x);
if(a==1)
{
a=((x%nmax)*prim)%nmax;
while(v[a]>0 && v[a]!=x) a=inc(a);
v[a]=x;
}
else if(a==2)
{
a=((x%nmax)*prim)%nmax;
while(v[a]!=0 && v[a]!=x) a=inc(a);
if(v[a]==x) v[a]=-1;
}
else
{
a=((x%nmax)*prim)%nmax;
while(v[a]!=0 && v[a]!=x) a=inc(a);
if(v[a]==x) printf("1\n");
else printf("0\n");
}
}
return 0;
}