Pagini recente » Cod sursa (job #2975005) | Cod sursa (job #2869291) | Cod sursa (job #1619151) | Cod sursa (job #2026952) | Cod sursa (job #567147)
Cod sursa(job #567147)
type lista=^nod;
nod=record n:longint; a:lista; end;
const modul=299993;
var v:array[0..modul] of lista;
x, n, i, o, y, j:longint;
p, r:lista;
ok:boolean;
f, g:text;
begin
assign (f, 'hashuri.in'); reset(f);
assign (g, 'hashuri.out'); rewrite (g);
read (f, n);
for i := 0 to modul do begin new (v[i]); v[i]^.n :=0; end;
for i := 1 to n do
begin
read (f, o, x);
y:= x mod modul;
case o of
1:begin
p:=v[y];
ok:=true; j:=1;
while (j <= v[y]^.n) and ok do
begin
p:=p^.a;
if p^.n = x then ok :=false;
j:=j+1;
end;
if ok then begin new(r); r^.n:=x; p^.a:=r; v[y]^.n:= v[y]^.n+1; end;
end;
2:begin
p:=v[y]; r:=v[y];
ok:=true; j:=1;
while (j <= v[y]^.n) and ok do
begin
p:=p^.a;
if p^.n = x then ok :=false;
if ok then r:=r^.a;
j:=j+1;
end;
if ok=false then begin r^.a:=p^.a; dispose(p); v[y]^.n:=v[y]^.n-1; end;
end;
3:begin
p:=v[y];
ok:=true; j:=1;
while (j <= v[y]^.n) and ok do
begin
p:=p^.a;
if p^.n = x then ok :=false;
j:=j+1;
end;
if ok then writeln (g, '0')
else writeln (g, '1');
end;
end;
end;
close (f); close (g);
end.