Pagini recente » Cod sursa (job #2236654) | Cod sursa (job #3129366) | Cod sursa (job #2780067) | Cod sursa (job #871392) | Cod sursa (job #1723281)
#include <bits/stdc++.h>
#define P 1000003
#define Q 123457
#define R 200003
using namespace std;
vector<int> h[P];
void Adauga(int x)
{
int r, i;
r = x % P;
for (i = 0; i < h[r].size(); i++)
if (h[r][i] == x) return;
/// x nu este in hash, deci il pun
h[r].push_back(x);
}
void Sterge(int x)
{
int r, i, k;
r = x % P;
k = h[r].size();
for (i = 0; i < k; i++)
if (h[r][i] == x)
{
h[r][i] = h[r][k-1];
h[r].pop_back();
return;
}
}
int Cauta(int x)
{
int r, i;
r = x % P;
for (i = 0; i < h[r].size(); i++)
if (h[r][i] == x) return 1;
return 0;
}
int main()
{
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int n, op, i, x;
f >> n;
for(i = 1; i <= n; i++)
{
f >> op >> x;
if(op == 1) Adauga(x);
else if(op == 2) Sterge(x);
else g << Cauta(x) << "\n";
}
f.close();g.close();
return 0;
}