Cod sursa(job #239560)

Utilizator crawlerPuni Andrei Paul crawler Data 4 ianuarie 2009 23:20:51
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <stdio.h>

#define MOD1 1235783
#define MOD2 1100781
#define MOD3 2736187

int h1[MOD1];
int h2[MOD2];
int h3[MOD3];

#define x1 (x%MOD1)
#define x2 (x%MOD2)
#define x3 (x%MOD3)

void add(int x)
{
	if (h1[x1] != 0 && h2[x2] != 0 && h3[x3] != 0) return;
	++h1[x1];
	++h2[x2];
	++h3[x3];
}

void del(int x)
{
	if (h1[x1] == 0 || h2[x2] == 0 || h3[x3] == 0) return;
	--h1[x1];
	--h2[x2];
	--h3[x3];
}

int ok(int x)
{
	if (h1[x1] > 0 && h2[x2] > 0 && h3[x3] > 0) return 1;
	return 0;
}
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;
}