Pagini recente » Cod sursa (job #2136011) | Cod sursa (job #1024059) | Cod sursa (job #590797) | Cod sursa (job #1779342) | Cod sursa (job #1542245)
#include <fstream>
#include <vector>
#define M 666013
using namespace std;
ifstream in("hashuri.in");
ofstream out("hashuri.out");
vector <int> Hash[M];
int n,operatie,x;
bool exist(int x)
{
int i;
for(i=0;i<Hash[x%M].size();i++)
if(Hash[x%M][i]==x) return 1;
return 0;
}
void adauga(int x)
{
if(!exist(x)) Hash[x%M].push_back(x);
}
void sterge(int x)
{
int i;
for(i=0;i<Hash[x%M].size();i++)
if(Hash[x%M][i]==x)
{
Hash[x%M].erase(Hash[x%M].begin()+i);
break;
}
}
int main()
{
int i,t;
in>>n;
for(i=1;i<=n;i++)
{
in>>operatie>>x;
if(operatie==1)
{
adauga(x);
}
if(operatie==2 && exist(x)==1)
{
sterge(x);
}
if(operatie==3) out<<exist(x)<<"\n";
}
in.close();
out.close();
return 0;
}