Pagini recente » Cod sursa (job #369972) | Cod sursa (job #1661462) | Cod sursa (job #731236) | Cod sursa (job #1274131) | Cod sursa (job #1076290)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
#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()
{
FILE *f,*g;
f=fopen("hashuri.in","r");
g=fopen("hashuri.out","w");
fscanf(f,"%d",&n);
int i,a,x,zone,ok;
for(i=1; i<=n ;i++)
{
fscanf(f,"%d%d",&a,&x);
zone=x%prime;
ok=0;
vector<int>::iterator itt;
for(itt=h[zone].begin(); itt!=h[zone].end() ;++itt)
{
if(*itt==x)
{
ok=1;
break;
}
}
if(a==1 && ok==0) h[zone].push_back(x);
else
{
if(a==2 && ok==1)
h[zone].erase(itt);
else
{
if(a==3)
fprintf(g,"%d\n",ok);
}
}
}
return 0;
}