Pagini recente » Cod sursa (job #1540213) | Cod sursa (job #1745865) | Cod sursa (job #1195106) | Cod sursa (job #3037504) | Cod sursa (job #1046973)
#include <cstdio>
#include<vector>
#define MOD 666013
using namespace std;
vector <int> H[MOD];
int caut(int x)
{
int h = x % MOD;
for(size_t i=0;i<H[h].size();++i)
if(H[h][i]==x)
return i;
return -1;
}
int caut(int h,int x)
{
for(size_t i=0;i<H[h].size();++i)
if(H[h][i]==x)
return i;
return -1;
}
void adaug(int x)
{
int h = x % MOD;
if(caut(h,x)==-1)
H[h].push_back(x);
}
void sterg(int x)
{
int h = x % MOD;
int res = caut(h,x);
if(res>-1)
H[h].erase(H[h].begin()+res);
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int n;
scanf("%d",&n);
while(n--)
{
int op,x;
scanf("%d %d",&op,&x);
switch(op)
{
case 1:
adaug(x);
break;
case 2:
sterg(x);
break;
case 3:
printf("%d\n",caut(x)>-1);
break;
}
}
return 0;
}