Cod sursa(job #339508)

Utilizator razvi9Jurca Razvan razvi9 Data 10 august 2009 10:09:53
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<cstdio>
#include<vector>
#define MOD 666013

std::vector<int> h[MOD];
std::vector<int>::iterator it;
int n,op,x;

void add(int x)
{
	h[x%MOD].push_back(x);
}

void del(int x)
{
	int y  = x%MOD;
	it = h[y].begin();
	for(;it!=h[y].end();++it)
		if(*it == x)
			break;
	if(it!=h[y].end())
		h[y].erase(it);
}

int find(int x)
{
	int y = x%MOD;
	it = h[y].begin();
	for(;it!=h[y].end();++it)
		if(*it == x)
			return 1;
	return 0;
}

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	for(;n;--n)
	{
		scanf("%d %d",&op,&x);
		switch(op)
		{
		case 1:
			add(x);
			break;
		case 2:
			del(x);
			break;
		case 3:
			printf("%d\n",find(x));
			break;
		}
	}
	fclose(stdout);
	return 0;
}