Pagini recente » Cod sursa (job #1550646) | Cod sursa (job #1312229) | Cod sursa (job #1193821) | Cod sursa (job #552593) | Cod sursa (job #2760773)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int prim = 999983;
int n, op, x;
vector<int> Hash[prim];
void adauga(int x)
{
Hash[x % prim].push_back(x);
}
int cauta(int x)
{
for(auto aux : Hash[x % prim])
if(x == aux)
return 1;
return 0;
}
void sterge(int x)
{
for(int i = 0; i < Hash[x % prim].size(); i++)
if(x == Hash[x % prim][i])
{
Hash[x % prim][i] = Hash[x % prim][Hash[x % prim].size() - 1];
Hash[x % prim].pop_back();
return;
}
}
int main()
{
f >> n;
for(int i = 0; i < n; i++)
{
f >> op >> x;
switch(op)
{
case 1: if(cauta(x) == 0) adauga(x);
case 2: if(cauta(x)) sterge(x);
case 3: g << cauta(x) << endl;
default: break;
}
}
return 0;
}