Cod sursa(job #744270)

Utilizator VisuianMihaiMihai Visuian VisuianMihai Data 8 mai 2012 10:11:14
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include<fstream>
#include<vector>
#define MOD 99997
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
vector<int> map[MOD];
bool find(int x)
{
	int linie, i;
	linie=x%MOD;
	for ( i=0; i < map[linie].size(); i++ )
	{
		if ( map[linie][i] == x )
		{
			return 1;
		}
	}
	return 0;
}
void insertVal(int x )
{
	int i;
	i=x%MOD;
	if ( !find(x) )
		map[i].push_back(x);
}
void deleteVal(int x)
{
	int linie, i;
	linie =x%MOD;
	if ( find(x) )
	{
		for ( i = 0; i <= map[linie].size(); i++ )
		{
			if ( x == map[linie][i] )
			{
				map[linie].erase(map[linie].begin()+i);
				break;
			}
		}
	}
}
int main()
{
	int n, i, op, val;
	fin >> n;
	for ( i = 1; i <= n; i++ )
	{
		fin >> op >> val;
		if ( op == 1 )
		{
			insertVal(val);
		}
		if ( op == 2 )
		{
			deleteVal(val);
		}
		if (op==3 )
		{
			fout << find(val) << '\n';
		}
	}
	fin.close();
	fout.close();
	return 0;
}