Cod sursa(job #782707)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 29 august 2012 10:47:10
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.05 kb
#include <stdio.h>
#include <vector>
#define MOD 666013

using namespace std;

vector <int> H[MOD];
int n,i,op,x;
int intrare;
vector <int> :: iterator poz;
vector <int> :: iterator find_value(int x)
{
	int list;
	vector <int> :: iterator it;
	list=x%MOD;
	for (it=H[list].begin();it!=H[list].end();it++)
		if (*it==x)
			return it;
	return H[list].end();;
}

void insert_value(int x)
{
	int list;
	list=x%MOD;
	if (find_value(x)!=H[list].end())
		;
	else
		H[list].push_back(x);
}

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%d%d",&op,&x);
		if (op==1)
		// adaugare
		{
			insert_value(x);
			continue;
		}
		if (op==2)
		// stergere
		{
			poz=find_value(x);
			intrare=x%MOD;
			if (poz==H[intrare].end())
				;
			else
				H[intrare].erase(poz);
			continue;
		}
		if (op==3)
		{
			poz=find_value(x);
			intrare=x%MOD;
			if (poz==H[intrare].end())
				printf("0\n");
			else
				printf("1\n");
		}
	}
	return 0;
}