Cod sursa(job #470302)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 12 iulie 2010 23:10:02
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include<stdio.h>
#include<vector.h>

using namespace std;

#define MOD 60000

vector < int > H[MOD];

int n;

void add(int val) {
	vector < int > :: iterator it;
	int m = val % MOD;
	
	for(it=H[m].begin(); it!=H[m].end(); it++)
		if(*it==val)
			return;
	
	H[m].push_back(val);
}

void del(int val) {
	vector < int > :: iterator it;
	int m = val % MOD;
	
	for(it=H[m].begin(); it!=H[m].end(); it++) 
		if(*it==val) {
			H[m].erase(it);
			return;
		}
}

int find(int val) {
	vector < int > :: iterator it;
	int m = val % MOD;
	
	for(it=H[m].begin(); it!=H[m].end(); it++)
		if(*it==val)
			return 1;
	
	return 0;
}

int main() {
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	
	int x, y;
	
	scanf("%d",&n);
	
	while(n--) {
		scanf("%d %d",&x, &y);
		if(x==1)
			add(y);
		else 
			if(x==2)
				del(y);
			else
				printf("%d\n",find(y));
	}
	
	return 0;
}