Cod sursa(job #501933)

Utilizator the@EyE@Postavaru Stefan the@EyE@ Data 17 noiembrie 2010 09:07:20
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 1.57 kb
#include <stdio.h>
#include <stdlib.h>
#include <set>

using namespace std;

struct element
{
	int nr;
	element *subE;
	
};

int div(int x)
{
	return(x%1385);
}



//element elements[1000000];
set<int> mySet;

//setHash sets[1000000];

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	
	int n;
	scanf("%d\n",&n);
	/*for(int i=0;i<n;i++)
	{
		int f,nr,poz;
		element *e,aux;
		scanf("%d",&f);
		
		if(f==1)
		{
			scanf("%d\n",&nr);
			&e.nr=nr;
			poz=div(nr);
			if(elements[poz].nr!=NULL)
			{
			    aux=elements[poz];
			    elements[poz]=&e;
				elements[poz].subE=&aux;
			}
			else elements[poz]=&e;
		}
		else if(f==2)
		{
			scanf("%d\n",&nr);
			poz=div(nr);
			if(elements[poz].nr!=NULL)
			{
				e=elements[poz];
				do
				{
					if(e.nr==nr)
					{
						//aux=e;
						&e=&e.subE;
					//	e=NULL;
						return;
						
					}
					else e=e.subE;
				}while(e.subE!=NULL);
				
			}
			
		}
		else if(f==3)
		{
			scanf("%d\n",&nr);
			poz=div(nr);
			if(elements[poz].nr!=NULL)
			{
				e=elements[poz];
				do
				{
					if(e.nr==nr)
					{
						
						
					}
				//	else e=e.subE;
				}while(e.subE!=NULL);
				
			}
		}
		
	}*/
	
	
	for(int i=0;i<n;i++)
	{
		int nr,f;
		scanf("%d %d\n",&f,&nr);
		set<int>::iterator it;
		if(f==1)
		{
			mySet.insert(nr);
		}
		else if(f==2)
		{
			mySet.erase(nr);
		}
		else if(f==3)
		{
			it=mySet.find(nr);
			if (*it==nr) printf("%d\n",1);
			else printf("%d\n",0);
			
		}
		
	}
	return 0;
	
}