Pagini recente » Cod sursa (job #1153664) | Cod sursa (job #1004464) | Cod sursa (job #1563460) | Cod sursa (job #1897465) | Cod sursa (job #2535856)
#include <bits/stdc++.h>
#define MODULO 666013
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
int tab[MODULO][8],h[MODULO],aux;
int hass(int x)
{
return x%MODULO;
}
void adauga(int x)
{
int i;
for(i=1;i<=h[hass(x)];i++)
if(tab[hass(x)][i]==x) return;
tab[hass(x)][++h[hass(x)]]=x;
}
void sterge(int x)
{
int i,j;
for(i=1;i<=h[hass(x)];i++)
if(tab[hass(x)][i]==x)
{
for(j=i;j<h[hass(x)];j++)
{
tab[hass(x)][j]=tab[hass(x)][j+1];
}
h[hass(x)]--;
return;
}
}
bool cauta(int x)
{
int i;
for(i=1;i<=h[hass(x)];i++)
if(tab[hass(x)][i]==x)
return true;
return false;
}
int main()
{
int i,n,x,c;
f>>n;
for(i=1;i<=n;i++)
{
f>>c>>x;
if(c==1) adauga(x);
else if(c==2) sterge(x);
else g<<cauta(x)<<'\n';
}
return 0;
}