Pagini recente » Cod sursa (job #2882013) | Cod sursa (job #3004854) | Cod sursa (job #2921694) | Cod sursa (job #2770695) | Cod sursa (job #1408904)
#include <iostream>
#include <fstream>
#include <vector>
#define nmax 666013
using namespace std;
int n, tip, x;
vector <int> H[nmax];
void adauga(int x)
{
int index = x % nmax;
bool ok = true;
for (int i = 0; i < H[index].size(); i++)
if (H[index][i] == x)
{
ok = false;
break;
}
if (ok)
H[index].push_back(x);
}
void sterge(int x)
{
int index = x % nmax;
for (vector <int> :: iterator it = H[index].begin(); it != H[index].end(); ++it)
if (*it == x)
{
H[index].erase(it);
return;
}
}
bool check(int x)
{
int index = x % nmax;
for (int i = 0; i < H[index].size(); i++)
if (H[index][i] == x)
return 1;
return 0;
}
int main()
{
ifstream fi("hashuri.in");
ofstream fo("hashuri.out");
fi >> n;
for (int i = 1; i <= n; i++)
{
fi >> tip >> x;
switch (tip) {
case 1:
adauga(x);
break;
case 2:
sterge(x);
break;
case 3:
fo << check(x) << "\n";
break;
}
}
fi.close();
fo.close();
return 0;
}