Pagini recente » Cod sursa (job #2668855) | Cod sursa (job #227996) | Cod sursa (job #3168574) | Cod sursa (job #718341) | Cod sursa (job #2766965)
#include <fstream>
#include <vector>
#include <iterator>
std::ifstream in("hashuri.in");
std::ofstream out("hashuri.out");
#define PRIME 536717
std::vector<int> table[PRIME];
int h(int x)
{
return x%PRIME;
}
bool exists(int x)
{
int key = h(x);
for(std::vector<int>::iterator it = table[key].begin();
it!=table[key].end();
it++)
if(*it == x)
return true;
return false;
}
void insert_element(int x)
{
int key = h(x);
bool ok = false;
for(std::vector<int>::iterator it = table[key].begin();
it!=table[key].end() && !ok;
it++)
if(*it == x)
ok=true;
if(!ok)
table[key].push_back(x);
}
void delete_element(int x)
{
int key = h(x);
for(std::vector<int>::iterator it = table[key].begin();
it!=table[key].end();
it++)
if(*it == x){
table[key].erase(it);
return;
}
}
int main()
{
int n, t, k;
in>>n;
while(n--)
{
in>>t>>k;
if(t==1)
insert_element(k);
else
if(t==2)
delete_element(k);
else
out<<exists(k)<<'\n';
}
}