Pagini recente » Cod sursa (job #545382) | Cod sursa (job #2772765) | Cod sursa (job #3246862) | Cod sursa (job #3221782) | Cod sursa (job #941223)
Cod sursa(job #941223)
#include <fstream>
#include <algorithm>
#include <vector>
#define In "hashuri.in"
#define Out "hashuri.out"
#define mod 666013
using namespace std;
vector<int>Hash[mod+1];
int y,x;
inline vector<int>::iterator Cauta()
{
vector<int>::iterator it;
for(it=Hash[y].begin();it!=Hash[y].end();it++)
if(*it==x)
return it;
return Hash[y].end();
}
inline void Adauga()
{
y = x%mod;
vector<int>::iterator it=Cauta();
if(it==Hash[y].end())
Hash[y].push_back(x);
}
inline void Sterge()
{
y = x%mod;
vector<int>::iterator it=Cauta();
if(it!=Hash[y].end())
Hash[y].erase(it);
}
inline bool Interogare()
{
y = x%mod;
vector<int>::iterator it=Cauta();
return (it!=Hash[y].end());
}
int main()
{
int i,n,op;
ifstream f(In);
ofstream g(Out);
f>>n;
for(i=1;i<=n;i++)
{
f>>op>>x;
if(op==1)
Adauga();
else
{
if(op==2)
Sterge();
else
g<<Interogare()<<"\n";
}
}
f.close();
g.close();
return 0;
}