Pagini recente » Cod sursa (job #2623676) | Cod sursa (job #488430) | Cod sursa (job #2643778) | Cod sursa (job #1563680) | Cod sursa (job #2909796)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
#define MOD 666013
vector<int> h[MOD];
int f(int x) {
return x % MOD;
}
bool cauta(int x) {
int nr = f(x);
int i = 0;
while(i < h[nr].size() && h[nr][i] != x)i++;
if(i < h[nr].size())return 1;
else return 0;
}
void adauga(int x) {
if(cauta(x) == 0){
int nr = f(x);
h[nr].push_back(x);
}
}
void sterge(int x) {
int i = 0,nr = f(x);
while(i < h[nr].size() && h[nr][i] != x){
i++;
}
if(i < h[nr].size()){
swap(h[nr][i],h[nr].back());
h[nr].pop_back();
}
}
int main()
{
int n,i,cer,nr;
fin>>n;
for(i = 0;i < n;i++){
fin>>cer>>nr;
if(cer == 1){
adauga(nr);
}else if(cer == 2){
sterge(nr);
}else fout<<cauta(nr)<<'\n';
}
return 0;
}