Cod sursa(job #363833)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 14 noiembrie 2009 20:17:14
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <stdio.h>
#include <vector>
#define MOD 666013
using namespace std;
int n;
vector <int> v[MOD];
int find(int y,int x)
{
	int i;
	for (i=0; i<v[y].size(); i++)
		if (v[y][i]==x)
			return ++i;
	return 0;
}
void update(int y,int x)
{
	int i;
	for (i=0; i<v[y].size(); i++)
		if (v[y][i]==x)
		{
			v[y][i]=0;
			return ;
		}
}
int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	int i,tip,x,y,t;
	for (i=1; i<=n; i++)
	{
		scanf("%d%d",&tip,&x);
		y=x%MOD;
		if (tip==1)
			if (!find(y,x))
				v[y].push_back(x);
		if (tip==2)
		{
			update(y,x);
			//t=find(y,x);
			//if (t)
			//	;//v[y].erase();
				//v[y][t]=0;
		}
		if (tip==3)
		{
			t=find(y,x);
			if (!t)
				printf("0\n");
			else
				printf("1\n");
		}
	}
	return 0;
}