Pagini recente » Cod sursa (job #1445704) | Cod sursa (job #43904) | Cod sursa (job #2554411) | Cod sursa (job #779270) | Cod sursa (job #629312)
Cod sursa(job #629312)
#include<cstdio>
#include<vector>
#define P 2013013
using namespace std;
struct HASH
{
long x,ap;
};
vector <HASH> f[P+1];
long cautare (long s, long q,vector <HASH> :: iterator &unde)
{
long i;
vector <HASH> :: iterator it;
for (it=f[q].begin();it!=f[q].end();++it)
if ((*it).x==s)
{
unde=it;
return 1;
}
return 0;
}
int main()
{
long n,i,op,x,w,k;
vector <HASH> :: iterator unde;
HASH temp;
freopen("hashuri.in","r",stdin);
freopen("hashuri.out","w",stdout);
scanf("%ld",&n);
for (i=1;i<=n;i++)
{
scanf("%ld%ld",&op,&x);
switch (op)
{
case 1 : {
w=x%P;
k=cautare(x,w,unde);
temp.x=x;
temp.ap=1;
if (k==0)
{
f[w].push_back(temp);
}
break;
}
case 2 : {
w=x%P;
k=cautare(x,w,unde);
if (k==1)
f[w].erase(unde,unde+1);
break;
}
case 3 : {
w=x%P;
printf("%ld\n",cautare(x,w,unde));
break;
}
}
}
return 0;
}