Cod sursa(job #607323)

Utilizator cosminx2003Cosmin Clapon cosminx2003 Data 11 august 2011 17:42:08
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream.h>
#include <vector>
#define M 47777

ifstream f("hashuri.in");
ofstream g("hashuri.out");

using namespace std;
vector<int> H[M];
int P=47777;


void hAdd(int x);
void hDelete(int x);
int hCheck(int x);

int main()
{
	int n,i,op,x;
	
	f>>n;
	
	for(i=1;i<=n;i++)
	{
		f>>op>>x;
		switch(op)
		{
			case 1:
				hAdd(x);
			break;
			case 2:
				hDelete(x);
			break;
			case 3:
				g<<hCheck(x)<<"\n";
			break;
		}
	}
	
	f.close();
	g.close();
	return 0;
}

void hAdd(int x)
{
	if(!hCheck(x))
		H[x/P].push_back(x);
}

void hDelete(int x)
{
	vector<int>::iterator c;
	for(c=H[x/P].begin();c!=H[x/P].end();c++)
		if(*c==x)
		{
			H[x/P].erase(c);
			break;
		}
		
}

int hCheck(int x)
{
	vector<int>::iterator c;
	for(c=H[x/P].begin();c!=H[x/P].end();c++)
		if(*c==x)
			return 1;
	return 0;
}