Pagini recente » Cod sursa (job #2977701) | Cod sursa (job #478180) | Cod sursa (job #288404) | Cod sursa (job #1499073) | Cod sursa (job #1414275)
#include <bits/stdc++.h>
using namespace std;
#define key 666013
int op,i,t,a;
class Hash_Table
{
public :
vector <int> Hash[key+13];
bool find(int a)
{
vector <int>::iterator it;
for (it=Hash[a%key].begin();it!=Hash[a%key].end();++it)
if (*it==a) return 1;
return 0;
}
void push(int a)
{
if (find(a)) return;
Hash[a%key].push_back(a);
}
void erase(int a)
{
for (int i=0;i<Hash[a%key].size();++i)
if (Hash[a%key][i]==a)
{
swap(Hash[a%key][i],Hash[a%key][Hash[a%key].size()-1]);
Hash[a%key].pop_back();
return;
}
}
};
Hash_Table Hash;
int main(void)
{
ifstream cin("hashuri.in");
ofstream cout("hashuri.out");
cin>>t;
while(t--)
{
cin>>op>>a;
if (op==1) Hash.push(a);
if (op==2) Hash.erase(a);
if (op==3) cout<<Hash.find(a)<<"\n";
}
return 0;
}