Cod sursa(job #670194)

Utilizator federerUAIC-Padurariu-Cristian federer Data 28 ianuarie 2012 17:07:38
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include<fstream>
#include<vector>
#define P 666013
using namespace std;
vector<int>H[P];

int n, i, a, nr;

ifstream fin("hashuri.in");
ofstream fout("hashuri.out");

void insert(int x)
{
	int i, lg=H[x%P].size();
	for(i=0;i<H[x%P].size();i++)
		if(H[x%P][i]==x)
			break;
	if(i==lg)
		H[x%P].push_back(x);
}
int search(int x)
{
	int i;
	for(i=0;i<H[x%P].size();i++)
		if(H[x%P][i]==x)
			return i;
	return -1;
}
void erase(int x)
{
	int poz;
	poz=search(x);
	if(poz!=-1)
		H[x%P].erase(H[x%P].begin()+poz);
}
	
	

int main()
{
	fin>>n;
	for(i=1;i<=n;i++)
	{
		fin>>a>>nr;
		if(a==1)
			insert(nr);
		else
			if(a==2)
				erase(nr);
			else
			{
				if(search(nr)!=-1)
					fout<<1<<'\n';
				else
					fout<<0<<'\n';
			}				
	}
	fin.close();
	fout.close();
	return 0;
}