Pagini recente » Cod sursa (job #332353) | Cod sursa (job #108746) | Arhiva de probleme | Cod sursa (job #657598) | Cod sursa (job #357345)
Cod sursa(job #357345)
#include<fstream>
#include<vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int mod=534371;
vector<int>hash[mod];
int n,x,y,i;
inline vector<int>::iterator find(int y)
{int list=y%mod;
for(vector<int>::iterator it=hash[list].begin();it!=hash[list].end();++it)
if(*it==y) return it;
return hash[list].end();
}
inline void insert(int y)
{int list=y%mod;
if(find(y)==hash[list].end())
hash[list].push_back(y);
}
inline void drop(int y)
{int list=y%mod;
vector<int>::iterator it=find(y);
if(it!=hash[list].end())
hash[list].erase(it);
}
int main()
{f>>n;
for(i=1;i<=n;++i)
{f>>x>>y;
if(x==1)insert(y);
if(x==2)drop(y);
if(x==3)if(find(y)!=hash[y%mod].end()) g<<1<<"\n";
else g<<"0\n";
}
f.close();
g.close();
return 0;
}