Cod sursa(job #719321)

Utilizator Oancea.CatalinOancea Catalin Oancea.Catalin Data 21 martie 2012 18:45:02
Problema Hashuri Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<fstream>
#include<list>
#include<cstdio>
using namespace std;
#define IN "hashuri.in"
#define OUT "hashuri.out"
FILE *f, *g;
list < int > A[3571];
list < int > :: iterator it;
long long tip, value, i, n, H;
bool ok;
long long hash(long long VALUE)
{
	return VALUE%3571;
}
int main()
{
	f=fopen(IN, "r");
	g=fopen(OUT,"w");
	fscanf(f, "%lld", &n);
	for(i=1; i<=n; i++)
	{
		fscanf(f, "%lld%lld", &tip, &value);
		if(tip==1)
		{
			H=hash(value);
			A[H].push_back(value);
		}
		else if(tip==2)
		{
			H=hash(value);
			A[H].remove(value);
		}
		else
		{
			H=hash(value);
			ok=false;
			for(it=A[H].begin(); it!=A[H].end(); it++)
			{
				if(*it==value)
				{
				    fprintf(g,"1\n");
					ok=true;
					break;
				}
			}
			if(ok==false)
				fprintf(g,"0\n");		
		}
	}
	fclose(f);
	fclose(g);
	return 0;
}