Pagini recente » Cod sursa (job #2677949) | Cod sursa (job #1625675) | Cod sursa (job #2136906) | Cod sursa (job #1601124) | Cod sursa (job #657353)
Cod sursa(job #657353)
#include <fstream>
#define MOD 999983
using namespace std;
struct hash
{
int nod;
hash *link;
}*H[MOD];
ifstream in;
ofstream out;
inline int find(int x,int val)
{
for(hash *p=H[x];p;p=p->link)
if(p->nod==val) return 1;
return 0;
}
inline void add(int x,int val)
{
hash *p=new hash;
p->nod=val;
p->link=H[x];
H[x]=p;
}
inline void del(int x,int val)
{
for(hash *p=H[x],*q=NULL;p;q=p,p=p->link)
if(p->nod==val)
{
if(q==NULL) H[x]=p->link;
else q->link=p->link;
delete p;
return;
}
}
int main()
{
int ok,N,x,y;
in.open("hashuri.in");
in>>N;
out.open("hashuri.out");
for(;N--;)
{
in>>x>>y;
ok=find(y%MOD,y);
if(x==3) out<<ok<<'\n';
else
if(ok&&x==2) del(y%MOD,y);
else
if(!ok) add(y%MOD,y);
}
in.close();
out.close();
return 0;
}