Pagini recente » Cod sursa (job #2339105) | Cod sursa (job #1445522) | Cod sursa (job #2487061) | Cod sursa (job #2745399) | Cod sursa (job #1143881)
program p1;
type lista=^celula;
celula=record
info:longint;
next:lista;
end;
const modulo=690001;
var a:array[0..690001] of lista;
p,aux:lista;
m,i,j,tip,nr,n:longint;
f,g:text;
b1,b2:array[0..1 shl 18 ] of char;
function cauta(nr:longint):boolean;
begin
cauta:=false;
m:=nr mod modulo;
p:=a[m];
while p<> nil do begin
if p^.info=nr then
begin
cauta:=true;
break;
end;
p:=p^.next;
end;
end;
procedure adauga(nr:longint);
begin
m:= nr mod modulo;
if cauta(NR)=false then begin
new(P);
p^.info:=nr;
p^.next:=a[m];
a[m]:=p;
end;
end;
procedure sterge (nr:longint);
begin
m:=nr mod modulo;
p:=a[m];
aux:=a[m];
if a[m]<> nil then
if a[m]^.info =nr then a[m]:=a[m]^.next
else
while p<> nil do begin
if p^.info=nr then begin
aux^.info:=p^.info;
dispose(P);
break;
end;
aux:=p;
p:=p^.next;
end;
end;
begin
assign(f,'hashuri.in');reset(F);settextbuf(f,b1);
assign(g,'hashuri.out');rewrite(G); settextbuf(g,b2);
readln(F,n);
for i:=1 to n do begin
readln(f,tip,nr);
if tip=1 then adauga(nr)
else if tip=2 then sterge(nr)
else
if cauta(nr) then writeln(g,1)
else writeln(g,0);
end;
close(F);
close(G);
end.