Pagini recente » Cod sursa (job #2076125) | Cod sursa (job #488897) | Cod sursa (job #2752771) | Cod sursa (job #2578846) | Cod sursa (job #1076279)
#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;
zone=val%prime;
h[zone].push_back(val);
}
void sterge(int val,int poz)
{
int zone;
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: rez=cauta(x);
if(rez==-1) insereaza(x);
break;
case 2: rez=cauta(x);
if(rez!=-1) sterge(x,rez);
break;
case 3: rez=cauta(x);
if(rez!=-1) g<<1<<endl;
else g<<0<<endl;
break;
}
}
return 0;
}