Cod sursa(job #710544)

Utilizator mihaibogdan10Mihai Bogdan mihaibogdan10 Data 9 martie 2012 21:58:38
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<cstdio>
#include<vector>
#define MOD 666013
using namespace std;

int ind;
vector <int> h[MOD];

vector<int> :: iterator Cauta(int x){
	vector<int> :: iterator it;
	for (it = h[ind].begin(); it != h[ind].end(); it++)
		if (*it == x) return it;
	return h[ind].end();
}

void Insereaza(int x){
	if (Cauta(x) == h[ind].end()) h[ind].push_back(x);
}

void Sterge(int x){
	vector<int> :: iterator it = Cauta(x);
	if (it != h[ind].end()) h[ind].erase(it);
}

int main(){
	freopen ("hashuri.in", "r", stdin), freopen("hashuri.out", "w", stdout);
	
	int i, n, x, op;
	scanf("%d", &n);
	for (i = 0; i < n; i++){
		scanf("%d %d", &op, &x);
		ind  = x % MOD;
		if (op == 1) Insereaza(x);
		if (op == 2) Sterge(x);
		if (op == 3) printf("%d\n", Cauta(x) == h[ind].end()? 0 : 1);
	}
	return 0;
}