Pagini recente » Cod sursa (job #116826) | Cod sursa (job #1244913) | Cod sursa (job #3128235) | Cod sursa (job #581608) | Cod sursa (job #1751056)
#include <fstream>
#include <vector>
#define mod 600329
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
vector<int> hashTable[mod];
int n;
int op, x;
char b;
vector<int> :: iterator find_value(int x, int pos)
{
for(vector<int>::iterator it = hashTable[pos].begin(); it != hashTable[pos].end(); it++){
if(*it == x){
return it;
}
}
return hashTable[pos].end();
}
void add_value(int x)
{
int hashed = x%mod;
if(find_value(x, hashed) == hashTable[hashed].end()){
hashTable[hashed].push_back(x);
}
}
void erase_value(int x)
{
int hashed = x%mod;
if(find_value(x, hashed) != hashTable[hashed].end()){
hashTable[hashed].erase(find_value(x, hashed));
}
}
int main()
{
in >> n;
for(int i=0; i<n; i++){
in >> op >> x;
int hashed = x%mod;
if(op == 1){
add_value(x);
}
if(op == 2){
erase_value(x);
}
if(op == 3){
find_value(x, hashed) == hashTable[hashed].end() ? b = '0' : b = '1';
out << b << '\n';
}
}
return 0;
}