Pagini recente » Cod sursa (job #2279851) | Cod sursa (job #1830882) | Cod sursa (job #1110003) | Cod sursa (job #1452021) | Cod sursa (job #472562)
Cod sursa(job #472562)
#include <cstdio>
#include <list>
#define range 1048576
#define mask 1048575
#define shift 20
using namespace std;
list<int> lista[range];
int main ()
{freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
int i,n,x,op,a,b;
list<int>::iterator it;
scanf("%d",&n);
for (i=1;i<=n;i++)
{scanf("%d %d",&op,&x);
a=x&mask;
b=x>>shift;
switch(op)
{case 1:for (it=lista[a].begin();it!=lista[a].end();it++)
{if(*it==b)
{break;
}
}
if(it==lista[a].end())
{lista[a].push_front(b);
}
break;
case 2:for (it=lista[a].begin();it!=lista[a].end();it++)
{if(*it==b)
{lista[a].erase(it);
break;
}
}
break;
case 3:for (it=lista[a].begin();it!=lista[a].end();it++)
{if(*it==b)
{printf("1\n");
break;
}
}
if(it==lista[a].end())
{printf("0\n");
}
break;
}
}
return 0;
}