Pagini recente » Cod sursa (job #456417) | Cod sursa (job #2253409) | Cod sursa (job #2355031) | Cod sursa (job #678112) | Cod sursa (job #846530)
Cod sursa(job #846530)
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <cctype>
#include <cstring>
#include <vector>
#include <deque>
#include <set>
using namespace std;
#define Max 66613
vector<int>g[Max];
int find(int x)
{
int p=x%Max;
for(int i=0;i<g[p].size();i++)
if(g[p][i]==x)return 1;
return 0;
}
void insert(int x)
{
int p = x%Max;
for(int i=0;i<g[p].size();i++)
if(g[p][i]==-1)
{
g[p][i]=x;
return ;
}
g[p].push_back(x);
}
void erase(int x)
{
int p = x%Max;
for(int i=0;i<g[p].size();i++)
if(g[p][i]==x)g[p][i]=-1;
}
int main()
{
int n,op,x;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d %d",&op,&x);
switch(op)
{
case 1: insert(x); break;
case 2: erase(x); break;
case 3: printf("%d\n",find(x));
}
}
return 0;
}