Pagini recente » Cod sursa (job #1850609) | Cod sursa (job #2838093) | Cod sursa (job #892036) | Cod sursa (job #2043339) | Cod sursa (job #2623797)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
const int p = 666013;
vector<int> Hash[p];
int cautare(int X)
{
int val = X % p;
vector<int>::iterator i;
for(i = Hash[val].begin(); i != Hash[val].end(); i++)
if(*i == X)
return 1;
return 0;
}
void inserare(int X)
{
int val = X % p;
if(cautare(X) == 0)
Hash[val].push_back(X);
}
void stergere(int X)
{
int val = X % p;
vector<int>::iterator i;
for(i = Hash[val].begin(); i != Hash[val].end(); i++)
if(*i == X)
{
Hash[val].erase(i);
break;
}
}
int main()
{
int N;
f >> N;
for(int i = 1; i <= N; i++)
{
int op, X;
f >> op >> X;
switch(op)
{
case 1:
inserare(X);
break;
case 2:
if(cautare(X) == 1) stergere(X);
break;
case 3:
g << cautare(X) << '\n';
break;
}
}
return 0;
}