Pagini recente » Cod sursa (job #3253451) | Cod sursa (job #2964199) | Cod sursa (job #2544731) | Cod sursa (job #2846239) | Cod sursa (job #961498)
Cod sursa(job #961498)
#include <stdio.h>
#include <vector>
#define MOD 666013
using namespace std;
vector<int> G[MOD];
int N;
vector<int>:: iterator search(int value)
{
vector<int>:: iterator it;
int l=value%MOD;
for (it=G[l].begin();it!=G[l].end();++it)
if (*it==value) return it;
return G[l].end();
}
void add_value(int value)
{
int l=value%MOD;
if (search(value)==G[l].end())
G[l].push_back(value);
}
void delete_value(int value)
{
int l=value%MOD;
vector<int>:: iterator it=search(value);
if (it!=G[l].end())
G[l].erase(it);
}
int main()
{
freopen ("hashuri.in","r",stdin);
freopen ("hashuri.out","w",stdout);
scanf("%d\n",&N);
int i,type,value,l;
for (i=1;i<=N;i++)
{
scanf("%d %d\n",&type,&value);
l=value%MOD;
if (type==1) add_value(value);
if (type==2) delete_value(value);
if (type==3)
{
if (search(value)!=G[l].end())
printf("1\n");
else printf("0\n");
}
}
fclose(stdin);
fclose(stdout);
return 0;
}