Cod sursa(job #811639)

Utilizator costel93FMI - Dumea Eduard Constantin costel93 Data 12 noiembrie 2012 19:14:05
Problema Hashuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <stdio.h>
#include <vector.h>
#define mod 666013

using namespace std;
vector <long> hash[mod];

FILE *f=fopen("hashuri.in","r"), *g=fopen("hashuri.out","w");

void f1(long x)
{
	int k=x%mod;
	for (long i=0; i<hash[k].size(); i++)
		if(hash[k][i] == x) return;
	hash[k].push_back(x);
}

void f2(long x)
{
	int k=x%mod;
	for(long i=0; i<hash[k].size(); i++)
		if( hash[k][i] == x) {
			hash[k][i] = hash[k][hash[k].size()-1];
			hash[k].pop_back();
			return ;
		}
}

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

int main()
{
	long long int n, i, x;
	int nr;
	
	fscanf(f, "%lld", &n);
	
	for(i=1; i<=n; i++)
	{
		fscanf(f,"%d""%lld", &nr, &x);
		
		if(nr == 1) f1(x);
		else 
			if(nr ==2 ) f2(x);
		else fprintf(g, "%d""%s", f3(x), "\n");
	}
	
	return 0;
}