Pagini recente » Cod sursa (job #3254667) | Cod sursa (job #1136401) | Cod sursa (job #3136833) | Cod sursa (job #1911326) | Cod sursa (job #239574)
Cod sursa(job #239574)
#include <stdio.h>
#define MOD1 1235781
#define MOD2 1100781
#define MOD3 1336181
#define MOD4 336081
#define MOD5 136181
#define MOD6 36081
int h1[MOD1];
int h2[MOD2];
int h3[MOD3];
int h4[MOD4];
int h5[MOD5];
int h6[MOD6];
#define x1 ((x+1234511)%MOD1)
#define x2 ((x+2345678)%MOD2)
#define x3 ((x+9876549)%MOD3)
#define x4 ((x+1225478)%MOD4)
#define x5 ((x+8716549)%MOD5)
#define x6 ((x+5781241)%MOD6)
int ok(int x)
{
if (h1[x1] > 0 && h2[x2] > 0 && h3[x3] > 0 && h4[x4] > 0 && h5[x5] > 0 && h6[x6] > 0) return 1;
return 0;
}
void add(int x)
{
if (h1[x1] != 0 && h2[x2] != 0 && h3[x3] != 0 && h4[x4] != 0 && h5[x5] != 0 && h6[x6] != 0) return;
++h1[x1]; ++h2[x2]; ++h3[x3]; ++h4[x4]; ++h5[x5]; ++h6[x6];
}
void del(int x)
{
if (!ok(x)) return;
--h1[x1]; --h2[x2]; --h3[x3]; --h4[x4]; --h5[x5]; --h6[x6];
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int t,op,nr;
scanf("%d", &t);
while (t--)
{
scanf("%d%d",&op,&nr);
if (op == 1) add(nr); else
if (op == 2) del(nr); else
printf("%d\n", ok(nr));
}
return 0;
}