Cod sursa(job #1582705)

Utilizator sandupetrascoPetrasco Sandu sandupetrasco Data 28 ianuarie 2016 12:32:02
Problema Hashuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1 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], temp  , temp_next;
	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(int i = 0; i < maxim; i++) { 
        					lnod temp = H[i] , temp_next;
        					while(NULL != temp) {
            					temp_next = temp->next;
            					delete temp;
            					temp = temp_next;
        						} 
        					H[i] = NULL;
    					}
			}
		if(oper == 3){
			cout << este(x) <<"\n";
		}	
	}
	return 0;
}