Pagini recente » Cod sursa (job #472975) | Cod sursa (job #472899) | Cod sursa (job #2886336) | Cod sursa (job #2377986) | Cod sursa (job #2742781)
#include <iostream>
#include <fstream>
#include <vector>
#define prim 666013
using namespace std;
vector <int> v[prim];
//cautam daca x este in hash
bool find_x(int x)
{
for(int i = 0; i < v[x % prim].size(); i++)
if(v[x % prim][i] == x)
return 1;
return 0;
}
//adaugam elementul x in hash daca nu exista deja
void add_x(int x)
{
if(!find_x(x)) {v[x % prim].push_back(x); }
}
//stergem elementul x din hash in caz ca il gasim
void delete_x(int x)
{
for(int i = 0; i < v[x % prim].size(); i++)
if(v[x % prim][i] == x)
{
v[x % prim][i] = v[x % prim][v[x % prim].size() - 1];
v[x % prim].pop_back();
break;
}
}
int main()
{
ifstream in("hashuri.in");
ofstream out("hashuri.out");
int n; in >> n;
for(int i = 0; i < n; i++)
{
int a, b;
in >> a >> b;
if(a == 1)
add_x(b);
else if(a == 3)
out << find_x(b) << "\n";
else delete_x(b);
}
return 0;
}