Pagini recente » Cod sursa (job #2642693) | Cod sursa (job #476253) | Cod sursa (job #2726850) | Cod sursa (job #3244268) | Cod sursa (job #2896440)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int nrprim = 100019;
vector <int> h[nrprim];
bool gaseste(int x)
{
int nr = x % nrprim;
for(int i : h[nr])
if(i == x) return 1;
return 0;
}
void sterge (int x)
{
int nr = x % nrprim;
for(int i = 0; i < h[nr].size(); i++)
if(h[nr][i] == x)
{
swap(h[nr][i], h[nr][h[nr].size()-1]);
h[nr].pop_back();
break;
}
}
void adauga(int x)
{
int nr = x % nrprim;
if(!gaseste(x))
h[nr].push_back(x);
}
int main()
{
int n, i, x, k;
f>>n;
for(i=0;i<n;i++)
{
f>>k>>x;
if(k==1)
{
adauga(x);
}
else if(k==2)
{
sterge(x);
}
else if(k==3) g<<gaseste(x)<<endl;
}
}