Cod sursa(job #629324)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 3 noiembrie 2011 10:16:24
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.94 kb
#include<fstream>
#include<vector>
#define MOD 666013

using namespace std;

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

int n, nr[MOD];

vector<int> a[MOD];

void Adauga(int x)
{
	int y=x%MOD, ok=0, i;
	
	for (i=0; i<nr[y]; ++i)
		if (a[y][i]==x)
		{
			ok=1; 
			break;
		}
	if (!ok)
	{
		a[y].push_back(x);
		++nr[y];
	}
}

void Sterge(int x)
{
	int y=x%MOD, ok=0;
	vector<int>:: iterator it;
	for (it=a[y].begin(); it!=a[y].end(); ++it)
		if (*it==x) {ok=1;break;}
	if (ok) 
		{
			a[y].erase(it);
			--nr[y];
		}
}

int cauta(int x)
{
	int y=x%MOD, ok=0, i;
	
	for (i=0; i<nr[y]; ++i)
		if (a[y][i]==x)
		{
			ok=1; 
			break;
		}
	return ok;
}

void Citeste()
{
	int i, x, y;
	f>>n;
	for (i=1; i<=n; ++i)
	{
		f>>x>>y;
		if (x==1) Adauga(y);
			else if (x==2) Sterge(y);
				else g<<cauta(y)<<"\n";
	}
}

int main()
{
	Citeste();
	f.close();
	g.close();
	return 0;
}