Pagini recente » Cod sursa (job #2828385) | Cod sursa (job #910521) | Cod sursa (job #3177065) | Cod sursa (job #2444835) | Cod sursa (job #2732667)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
#define MAX 655357
ifstream f ("hashuri.in");
ofstream g ("hashuri.out");
vector<vector<int>> dic(MAX, vector<int>());
int prehash;
vector<int>::iterator has(unsigned int nr){
auto it = find(dic[prehash].begin(),dic[prehash].end(),nr);
return it;
}
void add(unsigned int nr){
if (has(nr) != dic[prehash].end())
return;
dic[prehash].push_back(nr);
}
void del(unsigned int nr){
auto it = has(nr);
if (it == dic[prehash].end())
return;
dic[prehash].erase(it);
}
int main()
{
int n, operatie;
unsigned int nr;
f >> n;
for (int i = 0; i < n; i++) {
f >> operatie >> nr;
prehash = MAX%nr;
switch (operatie){
case 1:
add(nr);
break;
case 2:
del(nr);
break;
case 3:
g << (has(nr) != dic[prehash].end()) << '\n';
break;
}
}
return 0;
}