Pagini recente » Cod sursa (job #1161335) | Cod sursa (job #749706) | Cod sursa (job #2901507) | Cod sursa (job #2781089) | Cod sursa (job #1076276)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
#define prime 666013
vector <int> h[prime];
int n;
int cauta(int val)
{
unsigned i; int zone;
zone=val%prime;
for(i=0; i<h[zone].size() ;i++)
if(h[zone][i]==val) return i;
return -1;
}
void insereaza(int val)
{
int zone;
if(cauta(val)==-1)
{
zone=val%prime;
h[zone].push_back(val);
}
}
void sterge(int val)
{
int poz,zone;
poz=cauta(val);
if(poz!=-1)
{
zone=val%prime;
h[zone].erase(h[zone].begin()+poz);
}
}
int main()
{
f>>n;
int i,a,x,rez;
for(i=1; i<=n ;i++)
{
f>>a; f>>x;
switch(a)
{
case 1: insereaza(x);
break;
case 2: sterge(x);
break;
case 3: rez=cauta(x);
if(rez!=-1) g<<1<<endl;
else g<<0<<endl;
break;
}
}
return 0;
}