Cod sursa(job #383613)

Utilizator ionutz32Ilie Ionut ionutz32 Data 17 ianuarie 2010 12:11:57
Problema Hashuri Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.17 kb
type ref=^nod;
nod=record
    nr:longint;
    adr:ref;
    end;
var v:array[0..1000000] of ref;
u,u2,p:ref;
n,i,x,op,h:longint;
f,g:text;
ok:boolean;
begin
assign(f,'hashuri.in');
assign(g,'hashuri.out');
reset(f);rewrite(g);
readln(f,n);
for i:=1 to n do
    begin
    read(f,op,x);
    h:=x mod 1000000;
    u:=v[h];
    ok:=false;
    p:=nil;
    while u<>nil do
          begin
          if u^.nr=x then
             begin
             ok:=true;
             break;
             end;
          p:=u;
          u:=u^.adr;
          end;
    case op of
         1:if ok=false then
              begin
              new(u);
              u^.nr:=x;
              u^.adr:=v[h];
              v[h]:=u;
              end;
         2:if ok then
              if p<>nil then
                 begin
                 p^.adr:=u^.adr;
                 dispose(u);
                 end
              else
                  begin
                  v[h]:=u^.adr;
                  dispose(u);
                  end;
         3:if ok then
              writeln(g,1)
           else
               writeln(g,0);
         end;
    end;
close(f);close(g);
end.