Pagini recente » Cod sursa (job #1759413) | Cod sursa (job #1761573) | Cod sursa (job #1528491) | Cod sursa (job #630428) | Cod sursa (job #1047896)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#define prime 66013
int Tip3(vector<int> H[], int x)//Tip 3
{
int r = x%prime;
for (int i =0; i< H[r].size();i++)
if (H[r][i]==x)
return i;
return -1;
}
int Contains(vector<int> H[], int x)//Tip 3
{
int r = x%prime;
for (int i =0; i< H[r].size();i++)
if (H[r][i]==x)
return 1;
return 0;
}
void Add(vector<int> H[],int x)//Tip 1
{
if(Contains(H,x)) return;
int r = x%prime;
H[r].push_back(x);
}
void Remove(vector<int> H[],int x)//Tip 2
{
int who = Tip3(H,x);
if (who == -1) return;
int r=x%prime;
H[r][who] = H[r].back();
H[r].pop_back();
}
int main()
{
vector<int> H[prime];
ifstream IN("hashuri.in");
ofstream OUT("hashuri.out");
int N;
IN>>N;
int op,x;
for (int i=0;i<N;i++)
{
IN>>op>>x;
if (op == 1)
Add(H,x);
else if (op == 2)
Remove(H,x);
else// if (op == 3)
{
OUT<<Contains(H,x);
OUT<<"\n";
}
}
IN.close();
OUT.close();
return 0;
}