Cod sursa(job #607328)

Utilizator cosminx2003Cosmin Clapon cosminx2003 Data 11 august 2011 18:03:08
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <fstream.h>
#include <iostream.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);
vector<int>::iterator hCheck(int x);
vector<int>::iterator fuck;
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:
				if(hCheck(x)!=H[x/P].end())
					g<<1<<"\n";
				else
					g<<0<<"\n";
			break;
		}
	}
	
	f.close();
	g.close();
	return 0;
}

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

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

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