Cod sursa(job #912911)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 12 martie 2013 23:54:42
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<cstdio>
#include<algorithm>
#include<vector>
#define mod 666013
using namespace std;
vector<int>HASH[mod];
int n,i,j,k,x;

void add(int a,int b)
{
	for (j=0;j<HASH[a].size();j++) if (HASH[a][j]==b)	return;
	HASH[a].push_back(b);
}

void erase(int a,int b)
{
	for (j=0;j<HASH[a].size();j++) if (HASH[a][j]==b)
	{
		HASH[a].erase(HASH[a].begin()+j);
		return;
	}
}

int calc(int a,int b)
{
	for (j=0;j<HASH[a].size();j++) if (HASH[a][j]==b) return 1;
	return 0;
}

int main()
{
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++)
	{
		scanf("%d %d",&k,&x);
		if (k==1) add(x%mod,x);else
		if (k==2) erase(x%mod,x);else
		if (k==3) printf("%d\n",calc(x%mod,x));
	}
	return 0;
}