Pagini recente » Cod sursa (job #2594836) | Cod sursa (job #2914510) | Cod sursa (job #1419009) | Cod sursa (job #910524) | Cod sursa (job #2732656)
#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 has(unsigned int nr){
int prehash = MAX%nr;
if (find(dic[prehash].begin(),dic[prehash].end(),nr) != dic[prehash].end()){
return 1;
}
return 0;
}
void add(unsigned int nr){
if (has(nr)) return;
int prehash = MAX%nr;
dic[prehash].push_back(nr);
}
void del(unsigned int nr){
if (!has(nr)) return;
int prehash = MAX%nr;
dic[prehash].erase(find(dic[prehash].begin(),dic[prehash].end(),nr));
}
int main()
{
int n, operatie;
unsigned int nr;
f >> n;
for (int i = 0; i < n; i++) {
f >> operatie >> nr;
switch (operatie){
case 1:
add(nr);
break;
case 2:
del(nr);
break;
case 3:
g << has(nr) << '\n';
break;
}
}
return 0;
}