Pagini recente » Cod sursa (job #346362) | Cod sursa (job #617419) | Cod sursa (job #3352867) | Monitorul de evaluare | Cod sursa (job #799676)
Cod sursa(job #799676)
#include<cstdio>
#include<vector>
#define H 100009
using namespace std;
vector<int>a[H];
void add(int x)
{
int r=x%H;
vector<int>::iterator it;
for(it=a[r].begin();it!=a[r].end();it++)
if(*it==x) break;
if(it==a[r].end())
a[r].push_back(x);
}
void erase(int x)
{
int r=x%H;
vector<int>::iterator it;
for(it=a[r].begin();it!=a[r].end();it++)
if(*it==x) break;
if(it!=a[r].end())
{ *it=a[r].back();
a[r].pop_back();
}
}
void find(int x)
{ int r=x%H;
vector<int>::iterator it;
for(it=a[r].begin();it!=a[r].end();it++)
if(*it==x) break;
if(it!=a[r].end())
printf("1\n");
else
printf("0\n");
}
int main()
{ int n,p,i,x;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{ scanf("%d%d",&p,&x);
switch(p)
{
case 1:
add(x);
break;
case 2:
erase(x);
break;
case 3:
find(x);
break;
}
}
return 0;
}