Pagini recente » Placare | Cod sursa (job #2356) | Grigore Moisil 2018 Clasa a 10-a | Cod sursa (job #808520)
Cod sursa(job #808520)
#include <iostream>
#include <fstream>
#include <vector>
#define mod 32749
using namespace std;
vector <int> hash[mod];
inline void insert ( int x )
{
int k=x%mod;
for (int i=0; i<hash[k].size(); ++i)
if (hash[k][i] == x) return ;
hash[k].push_back(x);
}
inline void deelet (int x)
{
int k= x%mod;
int p,a,b;
bool ok=0;
for ( int i=0; i<hash[k].size();++i)
if (hash[k][i] == x)
hash[k].erase(hash[k].begin()+i,hash[k].begin()+1+i);
}
inline bool find (int x)
{
int k=x%mod;
int i;
for (i=0;i<hash[k].size();i++)
{
if (hash[k][i] == x) return 1;
}
return 0;
}
int main ()
{
ifstream in("hashuri.in");
ofstream out("hashuri.out");
int n,op,x,i;
in>>n;
for (i=0;i<n;i++)
{
in>>op>>x;
if (op==1)
{
insert(x);}
else
if (op==2)
{
deelet(x);
}
else
if (op==3)
{
out<<find(x)<<endl;
}
}
return 0;
}