Cod sursa(job #1307817)

Utilizator BlackBird_v.1.0Stephen Berg BlackBird_v.1.0 Data 2 ianuarie 2015 21:09:46
Problema Hashuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>
using namespace std;
#define key 666013
int op,i,t,a;
vector <int> Hash[key+13];

bool check(int a)
{
 vector <int>::iterator it;
 for (it=Hash[a%key].begin();it!=Hash[a%key].end();++it)
     if (*it==a) return 1;
 return 0;
}

void add_Hash(int a)
{
 if (check(a)) return;
 Hash[a%key].push_back(a);
}

void erase_Hash(int a)
{
 for (int i=0;i<Hash[a%key].size();++i)
     if (Hash[a%key][i]==a)
        {
         swap(Hash[a%key][i],Hash[a%key][Hash[a%key].size()-1]);
         Hash[a%key].pop_back();
         return;
		}
}

int main(void)
{
 ifstream in("hashuri.in");
 ofstream out("hashuri.out");
 in>>t;
  while(t--)
    {
     in>>op>>a;
	 if (op==1)	add_Hash(a);
	 if (op==2) erase_Hash(a);
	 if (op==3) 
	    {
	    if (check(a)) out<<"1\n";
	             else out<<"0\n";
	    }	
    }
 return 0;
}