Pagini recente » pregatire_oji_2010 | Clasament dinamica_partea1 | Cod sursa (job #2180244) | Monitorul de evaluare | Cod sursa (job #336052)
Cod sursa(job #336052)
#include <stdio.h>
#include <vector>
#define mod 679277
using namespace std;
vector<int> h[mod];
bool find(int nr)
{
int key = nr % mod;
for (int i =0;i<h[key].size();i++)
{
if (h[key][i] == nr)
{
return true;
}
}
return false;
}
inline void del(int nr)
{
int key = nr % mod;
for (int i =0;i<h[key].size();i++)
{
if (h[key][i] == nr)
{
h[key][i] = -1;
return;
}
}
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int n,s,op,i;
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%d%d",&op,&s);
{
switch(op)
{
case 1:
if (!find(s))
{
h[s % mod].push_back(s);
}
break;
case 2:
if (find(s))
{
del(s);
}
break;
case 3:
if (find(s))
{
printf("1\n");
}
else
{
printf("0\n");
}
break;
}
}
}
return 0;
}