Pagini recente » Cod sursa (job #2986983) | Cod sursa (job #1027479) | Cod sursa (job #1461709) | Cod sursa (job #2687891) | Cod sursa (job #682169)
Cod sursa(job #682169)
#include<cstdio>
#include<list>
#define infile "hashuri.in"
#define outfile "hashuri.out"
#define Mod 666013
#define pb push_back
#define iter list < int > :: iterator
#define NIL T[h(x)].end()
#define FOR(g) \
for(iter it = g.begin(); it!=g.end(); ++it)
using namespace std;
list < int > T[Mod];
inline int h(int x){
return x % Mod; }
iter search(int x)
{
FOR(T[h(x)])
if(*it == x)
return it;
return NIL;
}
void add(int x)
{
if(search(x) != NIL)
return;
T[h(x)].pb(x);
}
void erase(int x)
{
iter it = search(x);
if(it == NIL)
return;
T[h(x)].erase(it);
}
int main()
{
freopen(infile,"r",stdin);
freopen(outfile,"w",stdout);
int op, x, n;
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&op,&x);
switch (op)
{
case 1: add(x); break;
case 2: erase(x); break;
case 3: printf("%d\n", search(x) != NIL); break;
}
}
fclose(stdin);
fclose(stdout);
return 0;
}