Pagini recente » Cod sursa (job #2960840) | Cod sursa (job #1324366) | Cod sursa (job #79818) | Cod sursa (job #1773807) | Cod sursa (job #381038)
Cod sursa(job #381038)
#include <cstdio>
#include <vector>
using namespace std;
#define FIN "hashuri.in"
#define FOUT "hashuri.out"
#define P 666013
int n;
vector <int> H[P];
void swap(int a, int b)
{
int aux;
aux = a;
a = b;
b = aux;
}
void add(int number)
{
int i, k;
k = number % P;
for (i = 0; i < H[k].size(); ++ i)
if (H[k][i] == number)
return;
H[k].push_back(number);
}
void erase(int number)
{
int i, k;
k = number % P;
for (i = 0; i < H[k].size(); ++ i)
if (H[k][i] == number)
{
swap(H[k][i], H[k][H[k].size() - 1]);
H[k].pop_back();
return;
}
}
int verif(int number)
{
int i, k;
k = number % P;
for (i = 0; i < H[k].size(); ++ i)
if (H[k][i] == number)
return 1;
return 0;
}
int main()
{
int i, type, number;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &n);
for (i = 1; i <= n; ++ i)
{
scanf("%d %d", &type, &number);
if (type == 1)
add(number);
else if (type == 2)
erase(number);
else
printf("%d\n", verif(number));
}
}