Pagini recente » Cod sursa (job #1013811) | Cod sursa (job #26793) | Cod sursa (job #918819) | Cod sursa (job #3214683) | Cod sursa (job #1613236)
#include <iostream>
#include <cstdio>
#include <list>
#define MOD 660013
using namespace std;
list <long> H[MOD];
int N,op;
long val;
list<long>::iterator Found(int x)
{int Key=x%MOD;
list<long>::iterator it;
for(it=H[Key].begin();it!=H[Key].end();++it)if(*it==x)return it;
return H[Key].end();
}
void ReadData()
{FILE *fin=fopen("hashuri.in","r");
FILE *fout=fopen("hashuri.out","w");
fscanf(fin,"%d",&N);
for(int i=1;i<=N;++i)
{fscanf(fin,"%d %lld",&op,&val);
switch(op)
{case 1:{
if(Found(val)==H[val%MOD].end())H[val%MOD].push_back(val);
break;
}
case 2:
{list<long>::iterator it=Found(val);
if(it!=H[val%MOD].end())H[val%MOD].erase(it);
break;
}
case 3:
{Found(val) != H[val%MOD].end() ? fprintf(fout,"%d\n",1) : fprintf(fout,"%d\n",0);
break;
}
}
}
}
int main()
{ReadData();
return 0;
}