Pagini recente » Cod sursa (job #184170) | Cod sursa (job #1195486) | Cod sursa (job #1170561) | Cod sursa (job #3290817) | Cod sursa (job #1815152)
#include <cstdio>
#include <vector>
using namespace std;
const int P = 474707;
vector<int> h[P];
void erase(int x)
{
int r = x % P;
int L = h[r].size()-1;
for(int i = 0; i < h[r].size(); ++i)
if( h[r][i] == x)
{
h[r][i] = h[r][L];
h[r].pop_back();
return;
}
}
int search(int x)
{
int r = x % P;
for(int i = 0; i < h[r].size(); ++i)
if( h[r][i] == x ) return 1;
return 0;
}
inline void add(int x)
{
int r = x % P;
if( !search(x) ) h[r].push_back(x);
}
int main(){
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int N,i,x,op;
scanf("%d",&N);
for(i = 1; i <= N; ++i)
{
scanf("%d %d",&op,&x);
if(op==1) add(x);
else if(op==2) erase(x);
else printf("%d\n", search(x) );
}
return 0;
}