Pagini recente » Cod sursa (job #302972) | Cod sursa (job #1808299) | Cod sursa (job #2920914) | Cod sursa (job #735246) | Cod sursa (job #808517)
Cod sursa(job #808517)
#include <iostream>
#include <fstream>
#include <vector>
#define mod 32749
using namespace std;
vector <int> hash[mod];
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);
}
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)
{
ok=1;
p=i;
break;
}
if (ok==1)
{
a= hash[k].size()-1;
b= hash[k][a];
hash[k][a]=hash[k][p];
hash[k][p]=b;
hash[k].pop_back();
}
}
int 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;
}