Pagini recente » Cod sursa (job #1470358) | Cod sursa (job #2500926) | Cod sursa (job #1334426) | Cod sursa (job #428624) | Cod sursa (job #1508425)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("hashuri.in");
ofstream fout("hashuri.out");
const int MOD = 666013;
vector <int> Hashuri[MOD];
int N;
vector <int> :: iterator Find(int a)
{
int List = a % MOD;
vector <int> :: iterator it;
for(it = Hashuri[List].begin(); it != Hashuri[List].end(); it++)
if(*it == a)
return it;
return Hashuri[List].end();
}
void inserare(int a)
{
int List = a % MOD;
if(Find(a) ==Hashuri[List].end())
Hashuri[List].push_back(a);
}
void stergere(int a)
{
int List = a % MOD;
vector <int> :: iterator it = Find(a);
if(it != Hashuri[List].end())
Hashuri[List].erase(it);
}
int main()
{
fin>>N;
while(N--)
{
int optiune,x;
fin>>optiune>>x;
switch (optiune)
{
case 1:{inserare(x);break;}
case 2:{stergere(x);break;}
case 3:{fout << (Find(x) != Hashuri[x%MOD].end())<<"\n";break;}
}
}
return 0;
}