Cod sursa(job #561725)

Utilizator SadmannCornigeanu Calin Sadmann Data 21 martie 2011 14:06:58
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include<fstream>
#include<list>
#define MOD 666013
#define lista (x)%MOD
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
list<int> G[MOD];
int N,op,x;

inline list<int>::iterator find_value(int x)
{
	//int lista=x%MOD;
	list<int>::iterator it;
	for(it=G[lista].begin();it!=G[lista].end();it++)
		if(*it==x)
			return it;
	return G[lista].end();
}

inline void erase_value(int x)
{
	//int lista=x%MOD;
	list<int>::iterator it=find_value(x);
	if(it!=G[lista].end())
		G[lista].erase(it);
}

inline void insert_value(int x)
{
	//int lista=x%MOD;
	if(find_value(x)==G[lista].end())
		G[lista].push_back(x);
	
	
}

int main()
{
	for(in>>N;N;N--)
	{
		in>>op>>x;
		if(op==1)
		{
			insert_value(x);
			continue;
		}
		if(op==2)
		{
			erase_value(x);
			continue;
		}
		out<<(find_value(x) != G[x%MOD].end())<<"\n";		
	}	
	
	return 0;
}