Cod sursa(job #370580)

Utilizator undogSavu Victor Gabriel undog Data 1 decembrie 2009 16:30:06
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

struct node{
	node* next;
	int val;
};

node* c[1000000];

int main(){
	std::ifstream f("hashuri.in");
	std::ofstream g("hashuri.out");
	
	int n;
	f>>n;
	
	int op,val;
	node* p,*tmp;
	
	while(n--){
		f>>op>>val;
		p=c[val%1000000];
		switch(op){
			case 1:
				tmp=new node;
				tmp->val=val;
				tmp->next=p;
				c[val%1000000]=tmp;
				break;
			case 2:
				if(!p)
					break;
				if(p->val==val)
					c[val%1000000]=p->next;
				else{
					while(p->next&&p->next->val!=val)
						p=p->next;
					if(p->next){
						tmp=p->next;
						p->next=p->next->next;
						delete tmp;
					}
				}
				break;
			case 3:
				while(p&&p->val!=val)
					p=p->next;
				if(p)
					g<<"1\n";
				else
					g<<"0\n";
		}
	}
	
	return 0;
}