Cod sursa(job #1047557)

Utilizator donydony2009FMI - Donisan George donydony2009 Data 4 decembrie 2013 18:03:48
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include<fstream>
#include<vector>
using namespace std;
#define Vsize 666013
vector <int> Hash[Vsize];
int search(int x)
{
	int rest = x%Vsize;
	for(int i=0;i<Hash[rest].size();i++)
		if(Hash[rest][i]==x)
			return i;
		return -1;
}
void add(int x)
{
	int rest = x % Vsize;
	if(search(x)==-1)
		Hash[rest].push_back(x);
}
void sterge(int x)
{
	int rest = x % Vsize,s=search(x);
	if(s!=-1)
	{
		Hash[rest][s]=Hash[rest].back();
		Hash[rest].pop_back();
	}
}
int main(void)
{
	ifstream f("hashuri.in");
	ofstream g("hashuri.out");
	int n,op,nr,i;
	f>>n;
	for(i=1;i<=n;i++)
	{
		f>>op>>nr;
		if(op==1)
			add(nr);
		if(op==2)
			sterge(nr);
		if(op==3)
			if(search(nr)==-1)
				g<<"0\n";
			else
				g<<"1\n";
	}
}