Pagini recente » Cod sursa (job #1330631) | Cod sursa (job #2218470) | Cod sursa (job #3208063) | Cod sursa (job #1585155) | Cod sursa (job #2222417)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("hashuri.in");
ofstream fout ("hashuri.out");
const int mod1 = 1007, mod2 = 1003;
vector < int > H[mod1][mod2];
void Add(int x);
void Erase(int x);
bool Query(int x);
int main() {
int cer,x;
int t;
fin >> t;
for ( ; t > 0; --t) {
fin >> cer >> x;
if ( cer == 1)
Add(x);
else
if ( cer == 2)
Erase(x);
else
fout << Query(x) << "\n";
}
}
void Add(int x) {
int i = x % mod1, j = x % mod2;
H[i][j].push_back(x);
}
void Erase(int x) {
int i = x % mod1, j = x % mod2;
for ( size_t w = 0; w < H[i][j].size(); ++w)
if ( H[i][j][w] == x) {
H[i][j].erase(H[i][j].begin() + w);
return;
}
}
bool Query(int x) {
int i = x % mod1, j = x % mod2;
for ( size_t w = 0; w < H[i][j].size(); ++w)
if ( H[i][j][w] == x) {
return true;
}
return false;
}