Cod sursa(job #1582707)

Utilizator sandupetrascoPetrasco Sandu sandupetrasco Data 28 ianuarie 2016 12:43:49
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#define maxim 1000081
using namespace std;
int N, oper , x;
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
	typedef struct nod{
			int info;
			nod* next;
	}* lnod;
	
	lnod H[maxim];
	void add(lnod &a, int info){
		lnod b = new nod;
		b->info = info;
		b->next = a;
		a = b;
	}
	bool este(int info){
		for(lnod l = H[info % maxim]; l!=NULL; l = l->next)
			if(l->info == info) return 1;
		return 0;
	}
int main(){
	cin >> N;
	for(int i = 1; i <= N; i++){
		cin >> oper >> x;
		if(oper == 1){
			if(este(x) == 0)
				add(H[x % maxim] , x);			
		}
		if(oper == 2){
			if(este(x) == 1)
				for(lnod l = H[x % maxim]; l!=NULL; l = l->next)
					if(l->info == x){
						l->info = - 1;
					}
		}
		if(oper == 3){
			cout << este(x) <<"\n";
		}	
	}
	return 0;
}