Cod sursa(job #1048566)

Utilizator rvnzphrvnzph rvnzph Data 6 decembrie 2013 01:15:03
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
//double
#include <stdio.h>
#include <cstring>

using namespace std;

int H1[999983];
int H2[999979];

const int MOD1=999983;
const int MOD2=999979;

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);

	int N;
	scanf("%d",&N);

	memset(H1,0,sizeof(H1));
	memset(H2,0,sizeof(H2));

	while(N--)
	{
		int op,x;
		scanf("%d%d",&op,&x);

		bool found=false;
		if(H1[x%MOD1]>0&&H2[x%MOD2]>0) found=true;

		switch(op)
		{
			case 1:
				if(!found)
				{
					H1[x%MOD1]=1;
					H2[x%MOD2]=1;
				}
				break;
			case 2:
				if(found)
				{
					H1[x%MOD1]=0;
					H2[x%MOD2]=0;
				}
				break;
			case 3:
				if(found) printf("1\n");
				else printf("0\n");
				break;
		}
	}

	return 0;
}