Cod sursa(job #1535473)

Utilizator ili226Vlad Ilie ili226 Data 24 noiembrie 2015 20:16:41
Problema Hashuri Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 1.08 kb
const magic=666013;
type nd=^nod;
     nod=record
          val:longint;
          next:nd
         end;
var f,fo:text;
    tip:byte;
    i,n,nr:longint;
    h:array[0..666013]of nd;
procedure adauga(x:longint;var p:nd);
var pp:nd;
begin
if p<>nil then
 if p^.val<>x then adauga(x,p^.next)
              else
          else
 begin
  new(pp);
  pp^.val:=x;
  pp^.next:=nil;
  p:=pp
 end;
end;

procedure sterge(x:longint;var p:nd);
var pp:nd;
begin
if p<>nil then
 if p^.val<>x then
  sterge(x,p^.next)
              else
  begin
   pp:=p;
   p:=p^.next;
   dispose(pp)
  end;
end;

procedure vezi(x:longint;p:nd);
begin
 if p<>nil then
  if p^.val<>x then vezi(x,p^.next)
               else writeln(fo,'1')
           else
  writeln(fo,'0')
end;

begin
assign(f,'hashuri.in');
assign(fo,'hashuri.out');
reset(f);
rewrite(fo);
readln(f,n);
for i:=1 to n do
 begin
  readln(f,tip,nr);
  case tip of
   1:adauga(nr,h[nr mod magic]);
   2:sterge(nr,h[nr mod magic]);
   3:vezi(nr,h[nr mod magic]);
  end
 end;
close(fo);
close(f);
end.