Cod sursa(job #830367)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 6 decembrie 2012 18:59:39
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <fstream>
#include <vector>
#define MOD 100007
using namespace std;
const char iname[] = "hashuri.in";
const char oname[] = "hashuri.out";
ifstream fin(iname);
ofstream fout(oname);
int N , op , r;
unsigned int x;
vector < int > :: iterator it;
vector < int > v[ MOD ];
int find ( int y )
{
	r = y % MOD;
	for ( it = v[ r ].begin(); it != v[ r ].end(); ++it )
	{
		if ( *it == y )
			return 1;
	}
	return 0;
}
void sp ( int y )
{
	r = y % MOD;
	for ( it = v[ r ].begin(); it != v[ r ].end(); ++it )
	{
		if ( *it == y )
		{
			v[ r ].erase( it );
			return ;
		}
	}
}
int main()
{
	fin >> N;
	while ( N-- )
	{
		fin >> op >> x;
		switch ( op ) 
		{
			case 1 : 
				if ( !find( x ) ){ r = x % MOD; v[ r ].push_back( x ); }
				break;
			case 2 : 
				if ( find( x ) )
				{
					r = x % MOD;
					sp( x );
				} 
				break;
			case 3 : 
				if ( find( x ) ) fout << "1\n"; 
				else fout << "0\n";
				break;
		}
	}
	return 0;
}