Cod sursa(job #327199)

Utilizator TyberFMI Dogan Adrian Ioan Lucian Tyber Data 27 iunie 2009 17:12:00
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<stdio.h>
#include<vector>
#define mod 1000010
using namespace std;
vector<int>::iterator find(int);
void insert(int);
void erase(int);
int n;
vector<int>g[mod];
int main()
{
	int t,x;
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	for(;n;n--)
	{
		scanf("%d %d",&t,&x);
		if(t==1)
			insert(x);
		if(t==2)
			erase(x);
		if(t==3)
			printf("%d\n",find(x)!=g[x%mod].end());
	}
	return 0;
}
vector<int>::iterator find(int x)
{
	int l=x%mod;
	vector<int>::iterator it;
	for(it=g[l].begin();it!=g[l].end();it++)
		if(*it==x)
			return it;
	return g[l].end();
}
void insert(int x)
{
	int l=x%mod;
	if(find(x)==g[l].end())
		g[l].push_back(x);
}
void erase(int x)
{
	int l=x%mod;
	if(find(x)!=g[l].end())
		g[l].erase(find(x));
}