Cod sursa(job #545899)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 4 martie 2011 08:46:17
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.02 kb
#include <cstdio>
#include <vector>

using namespace std;

#define file_in "hashuri.in"
#define file_out "hashuri.out"

#define mod 666013

int Q,tip,val;
vector<int> G[mod];

void Add(int val){
	
	int k=val%mod;
	
	vector<int> :: iterator it;
	
	for (it=G[k].begin();it!=G[k].end();++it)
		 if (*it==val)
			 return ;
	G[k].push_back(val);
}

void Erase(int val){
	
	int k=val%mod;
	
	vector<int> :: iterator it;
	
	for (it=G[k].begin();it!=G[k].end();++it)
		 if (*it==val){
			
			G[k].erase(it); 
			return ;
		 }
}

int Find(int val){
	
	int k=val%mod;
	
	vector<int> :: iterator it;
	
	for (it=G[k].begin();it!=G[k].end();++it)
		 if (*it==val)
			 return 1;
	return 0;

}


int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	
	scanf("%d", &Q);
	
	while(Q--){
		
		scanf("%d %d", &tip, &val);
		
		if (tip==1){
			Add(val);
		}
		else
		if (tip==2){
			Erase(val);
		}
		else{
			printf("%d\n", Find(val));
		}
	}
	
	return 0;
	
}