Pagini recente » Cod sursa (job #1676388) | Cod sursa (job #2043307) | Cod sursa (job #3183305) | Cod sursa (job #1205134) | Cod sursa (job #1080882)
#include<fstream>
#include<vector>
using namespace std;
#define PRIME 666013
vector <int> h[PRIME];
int cauta(int val)
{
int zona = val % PRIME;
for (int i = 0; i < h[zona].size(); i++)
if (h[zona][i] == val)
return i;
return -1;
}
void insereaza(int val)
{
int zona = val % PRIME;
if (cauta(val) == -1)
h[zona].push_back(val);
}
void sterge(int val)
{
int poz = cauta(val);
if (poz != -1)
{
int zona = val % PRIME;
h[zona][poz] = h[zona].back();
h[zona].pop_back();
}
}
int main()
{
int n, cod, val;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
f >> n;
for (int i = 0; i < n; i++)
{
f >> cod >> val;
switch (cod)
{
case 1:
insereaza(val);
break;
case 2:
sterge(val);
break;
case 3:
if (cauta(val) == -1)
g << "0\n";
else
g << "1\n";
}
}
return 0;
}