Pagini recente » Cod sursa (job #2733791) | Cod sursa (job #2343784) | Borderou de evaluare (job #1569140) | Cod sursa (job #1190757) | Cod sursa (job #2896460)
#include <bits/stdc++.h>
using namespace std;
#define NrHash 123431
vector<int> Hash[NrHash];
ifstream in("hashuri.in");
ofstream out("hashuri.out");
int cautare_in_hash (int x)
{
int pozmodulo=x%NrHash;
for(int i=0; i<Hash[pozmodulo].size(); i++)
if(Hash[pozmodulo][i]==x)return 1;
return 0;
}
int main()
{
int n,operatie,nr,pozmodulo,ok,poz;
in>>n;
for(int i=1; i<=n; i++)
{
in>>operatie;
in>>nr;
if(operatie==1)
{
pozmodulo=nr%NrHash;
if (cautare_in_hash(nr)==0)
Hash[pozmodulo].push_back(nr);
}
if(operatie==2)
{
pozmodulo=nr%NrHash;
int ok=0;
for(int i=0; i<Hash[pozmodulo].size(); i++)
{
if(Hash[pozmodulo][i]==nr)
{
ok=1;
poz=i;
}
}
if(ok==1)
Hash[pozmodulo].erase(Hash[pozmodulo].begin()+poz);
}
if(operatie==3)
{
int ok=0;
pozmodulo=nr%NrHash;
for(int i=0; i<Hash[pozmodulo].size(); i++)
if(Hash[pozmodulo][i]==nr)
{
ok=1;
out<<1<<'\n';
}
if(ok==0) out<<0<<'\n';
}
}
return 0;
}