Cod sursa(job #331867)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 15 iulie 2009 15:08:13
Problema Hashuri Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<stdio.h>
#include<list>
#define N 524288
using namespace std;
int n,x,X,op,mask=524287;
list <int> H[N];
void read(),solve();
int main()
{
	read();
	solve();
	return 0;
}
void read()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
}
void solve()
{
	list<int>::iterator it,b,e;
	for(;n;n--)
	{
		scanf("%d%d",&op,&x);X=x&mask;b=H[x].begin();e=H[X].end();
		if(op==1)
		{
			for(it=b;it!=e;it++)
				if(*it==x)break;
			if(it==e)
				H[X].push_back(x);
			continue;
		}
		if(op==2)
		{
			for(it=b;it!=e;it++)
				if(*it==x)break;
			if(it!=e)H[X].erase(it);
			continue;
		}
		for(it=b;it!=e;it++)
				if(*it==x)break;
		if(it==e)printf("0\n");
		else printf("1\n");
	}
}