Cod sursa(job #412161)

Utilizator ErgoVicol Sergiu Constantin Ergo Data 5 martie 2010 13:22:10
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
#include <vector>

#define P 666013

using namespace std;

vector<int> H[P + 3];
int N;

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

inline int Hash(long long x)
{
	return x % P;
}

void Solve(void)
{
	long long T, X, C;
	int i, j, ok;
	
	fin >>N;
	
	for (i = 1; i <= N; i++)
	{
		fin >>T >>X;
		
		C = Hash(X);
		
		if (T == 1) 
		{
			ok = 1;
			for (j = 0; j < H[C].size(); j++)
				if (H[C][j] == X) ok = 0;
			
			if (ok)
				H[C].push_back(X);
		}
		if (T == 2) 
		{
			for (j = 0; j < H[C].size(); j++)
				if (H[C][j] == X) H[C].erase(H[C].begin() + j);
		}
		if (T == 3) 
		{
			ok = 1;
			for (j = 0; j < H[C].size(); j++)
				if (H[C][j] == X) ok = 0, fout <<"1\n";
			
			if (ok) fout <<"0\n";
		}
	}
}

int main()
{
	Solve();
	
	fin.close();
	fout.close();
	
	return 0;
}