Cod sursa(job #808539)

Utilizator krissu93FMI Tiugan Cristiana Elena krissu93 Data 6 noiembrie 2012 21:26:20
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013

using namespace std;
vector <int> hash[mod];

inline void insert ( int x )
{
	int k=x%mod,nk=hash[k].size();
	for (int i=0; i<nk; ++i)
		if (hash[k][i] == x) return ;
	
	hash[k].push_back(x);
	
}

inline void deelet (int x)
{
	int k= x%mod;
	int p,a,b,nk=hash[k].size();
	bool ok=0;
	for ( int i=0; i<nk;++i)
		if (hash[k][i] == x)
			hash[k].erase(hash[k].begin()+i,hash[k].begin()+1+i);
	

}

inline bool find (int x)
{
	int k=x%mod;
	int i,nk=hash[k].size();
	for (i=0;i<nk;++i)
	{
		if (hash[k][i] == x) return 1;
	}
	return 0;
}

int main ()
{
	ifstream in("hashuri.in");
	ofstream out("hashuri.out");
	int n,op,x,i;
	in>>n;
	while (n--)
	{
		in>>op>>x;
		if (op==1)
		{
			insert(x);}
		
		if (op==2)
		{
			deelet(x);
		}
		
		if (op==3)
		{
			out<<find(x)<<'\n';
		}
	}
	return 0;
}