Pagini recente » Cod sursa (job #1723546) | Cod sursa (job #3132828) | Cod sursa (job #797084) | Cod sursa (job #2765251) | Cod sursa (job #1790470)
#include <iostream>
#include <fstream>
#include <vector>
#define MOD 666013
using namespace std;
ifstream in ("hashuri.in");
ofstream out ("hashuri.out");
int n;
vector <int> H[MOD];
int findH(int x)
{
int h = x%MOD;
for(int i = 0;i<H[h].size();++i)
if(H[h][i]==x)
return i;
return -1;
}
void insertH(int x)
{
int h=x%MOD; //functie hash simpla, cu modulo nr prim mare
if(findH(x)==-1)
H[h].push_back(x);
}
void removeH(int x)
{
int h = x%MOD;
int i = findH(x);
if(i!=-1)
H[h].erase(H[h].begin() + i);
}
int main()
{
int op, i, x;
in>>n;
for(i=0;i<n;++i)
{
in>>op>>x;
switch (op)
{
case 1:
insertH(x);
break;
case 2:
removeH(x);
break;
case 3:
out<<findH(x)+1<<'\n';
break;
}
}
in.close();
out.close();
return 0;
}