Pagini recente » Cod sursa (job #2045462) | Istoria paginii utilizator/g00se | Cod sursa (job #2044979) | Cod sursa (job #578746) | Cod sursa (job #1763583)
#include <cstdio>
#include <algorithm>
#include <vector>
#define MAXN 666013
using namespace std;
int N,val,Type;
vector <int>H[MAXN];
void Add(int v)
{
int S=v%MAXN;
for(int i=0;i<H[S].size();i++)
if(H[S][i]==v)
return;
H[S].push_back(v);
}
void Delete(int v)
{
int S=v%MAXN;
for(int i=0;i<H[S].size();i++)
if(H[S][i]==v)
{
H[S].erase(H[S].begin()+i);
return;
}
}
void Search(int v)
{
int S=v%MAXN;
for(int i=0;i<H[S].size();i++)
if(H[S][i]==v)
{
printf("1\n");
return;
}
printf("0\n");
}
int main()
{
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;i++)
{
scanf("%d%d",&Type,&val);
if(Type==1)Add(val);
else if(Type==2)Delete(val);
else Search(val);
}
return 0;
}