Pagini recente » Cod sursa (job #2765423) | Borderou de evaluare (job #2016022) | Cod sursa (job #900173) | Cod sursa (job #350825) | Cod sursa (job #1950651)
#include <cstdio>
#include <vector>
#define mod 666013
using namespace std;
vector <int> h[mod];
vector <int> :: iterator it;
int n, x, op, i, ind;
vector <int> :: iterator h_find(int x)
{
ind = x%mod;
for( it= h[ind].begin(); it != h[ind].end(); it++ )
if (*it ==x)
return it ;
return it;
}
void h_add ( int x)
{
if (it == h[ind].end())
h[ind].push_back(x);
}
void h_erase ( int x )
{
if(it != h[ind].end() )
h[ind].erase(it);
}
void h_write (int x)
{
if ( it != h[ind].end ())
printf ("1\n");
else printf ("0\n");
}
int main()
{
freopen ("hashuri.in", "r", stdin);
freopen ("hashuri.out", "w", stdout);
scanf ("%d", &n);
for(i=1; i<=n; i++ )
{
scanf ("%d%d", &op, &x);
ind= x% mod;
it = h_find(x);
if(op==1) h_add(x);
else if(op==2) h_erase(x);
else h_write(x);
}
return 0;
}