Pagini recente » Cod sursa (job #2230540) | Cod sursa (job #1931591) | Cod sursa (job #2265854) | Cod sursa (job #355933) | Cod sursa (job #1550051)
#include <fstream>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
int n,i,x,op,k,b[666013],p;
struct wertyu
{
int x; int y;
}a[666013];
void op1(int x)
{
int c=x%p;
int q=b[c];
bool ok=1;
while(q!=0)
{
if(x==a[q].x)
{
ok=0;
break;
}
q=a[q].y;
}
if(ok==1)
{
a[++k].x=x;
a[k].y=b[c];
b[c]=k;
}
}
void op2(int x)
{
int c=x%p;
int q=b[c];
bool ok=1;
int pz;
int poz;
while(q!=0)
{
if(x==a[q].x)
{
ok=0;
poz=q;
break;
}
pz=q;
q=a[q].y;
}
if(ok==0)
{
a[pz].y=a[poz].y;
a[poz].x=0;
}
}
void op3(int x)
{
int c=x%p;
int q=b[c];
bool ok=1;
int pz;
while(q!=0)
{
if(x==a[q].x)
{
ok=0;
break;
}
q=a[q].y;
}
if(ok==0)
fout<<"1\n";
else
fout<<"0\n";
}
int main()
{
fin>>n;
p=666013;
k=0;
for(i=1;i<=n;i++)
{
fin>>op>>x;
if(op==1)
op1(x);
else
if(op==2)
op2(x);
else
op3(x);
}
return 0;
}