Cod sursa(job #811836)

Utilizator alinaelenaFMI Colceag Alina alinaelena Data 12 noiembrie 2012 23:20:17
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include<cstdio>
#include<vector>
using namespace std;
#define mod 666013
vector <long long> hash[mod];

int searchop (long long x)
{
	int index=x%mod;
	for (int i=0;i<hash[index].size();++i)
		if (hash[index][i]==x)
			return 1;
		return 0;
}


void insertop(long long x)
{
	int index=x%mod;
	if (searchop(x)==0)
		hash[index].push_back(x);
	
}

void deleteop(long long x)
{
	int index=x%mod;
	for (int i=0;i<hash[index].size();++i)
		if (hash[index][i]==x)
			{hash[index][i]=hash[index].back();
		hash[index].pop_back();}
	
	
}


int main()
{
	int n,op;
	long long  x;
	freopen("hashuri.in","r",stdin);
	freopen("hashuri.out","w",stdout);
	scanf("%d",&n);
	for ( int i=1;i<=n;++i)
	{
		scanf("%d %lld",&op,&x);
		if (op==1)
			insertop(x);
		if (op==2)
			deleteop(x);
		if (op==3)
			 printf("%d\n",searchop(x));
	}
	return 0;
}