Pagini recente » Cod sursa (job #2729811) | Cod sursa (job #3140516) | Cod sursa (job #2305463) | Cod sursa (job #417986) | Cod sursa (job #2797682)
#include <fstream>
#include <vector>
std::ifstream fin ("hashuri.in");
std::ofstream fout ("hashuri.out");
int const MOD = 1000003;
std::vector <int> v[MOD + 5];
int search (int x) {
int hashed = x % MOD;
int size = v[hashed].size();
for (int i = 0; i < size; i++)
if (v[hashed][i] == x)
return i;
return -1;
}
void add (int x) {
int hashed = x % MOD;
if (search (x) == -1)
v[hashed].push_back(x);
}
void remove (int x) {
int hashed = x % MOD;
int poz = search (x);
if (poz != -1) {
int size = v[hashed].size();
if (poz != size - 1)
v[hashed][poz] = v[hashed][size - 1];
v[hashed].pop_back();
}
}
int main()
{
int n;
fin >> n;
for (int i = 1; i <= n; i++) {
int tip, x;
fin >> tip >> x;
if (tip == 1)
add(x);
else if (tip == 2)
remove (x);
else
fout << (search(x) != -1) << "\n";
}
return 0;
}