Pagini recente » **** | Cod sursa (job #2703887) | Cod sursa (job #3149265) | Cod sursa (job #2377040) | Cod sursa (job #808539)
Cod sursa(job #808539)
#include <iostream>
#include <fstream>
#include <vector>
#define mod 666013
using namespace std;
vector <int> hash[mod];
inline void insert ( int x )
{
int k=x%mod,nk=hash[k].size();
for (int i=0; i<nk; ++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,nk=hash[k].size();
bool ok=0;
for ( int i=0; i<nk;++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,nk=hash[k].size();
for (i=0;i<nk;++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;
while (n--)
{
in>>op>>x;
if (op==1)
{
insert(x);}
if (op==2)
{
deelet(x);
}
if (op==3)
{
out<<find(x)<<'\n';
}
}
return 0;
}