Pagini recente » Cod sursa (job #303469) | Cod sursa (job #1749019) | Cod sursa (job #161772) | Cod sursa (job #2607129) | Cod sursa (job #301828)
Cod sursa(job #301828)
#include <cstdio>
#include <vector>
using namespace std;
#define FIN "hashuri.in"
#define FOUT "hashuri.out"
#define mod 666013
int N;
vector <int> H[mod];
void insert (int x)
{
int key = x % mod, i, L = H[key].size ();
for (i = 0; i < L; ++i)
if (H[key][i] == x) return;
H[key].push_back (x);
}
void erase (int x)
{
int key = x % mod, i, L = H[key].size ();
for (i = 0; i < L; ++i)
if (H[key][i] == x)
H[key][i] = H[key][L - 1], H[key].pop_back();
}
int search (int x)
{
int key = x % mod, i, L = H[key].size ();
for (i = 0; i < L; ++i)
if (H[key][i] == x) return 1;
return 0;
}
int main ()
{
freopen (FIN, "r", stdin);
freopen (FOUT, "w", stdout);
scanf ("%d", &N);
while (N--)
{
int t, x;
scanf ("%d %d\n", &t, &x);
if (t == 1) insert (x);
if (t == 2) erase (x);
if (t == 3)
printf ("%d\n", search (x));
}
return 0;
}