⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p2001_3.pas

📁 noip1998-2004普及
💻 PAS
字号:

program p01_3(input,output);{先序排列  LNR & LRN => NLR}
const maxn=8;
type point=^tree;
     tree=record
         root:char;
         left,right:point;
     end;
var head:point;zx,hx:STRING;
    i:integer;

FUNCTION gen(z1,z2,h1,h2:integer):POINT;
var p:point;i,j,min1,min2,max1,max2,m:integer;
begin
     if z1>z2 then gen:=nil
       else
         begin
              new(p);
              p^.root:=hx[h2];
                  WRITE(P^.ROOT);
              for i:=z1 to z2 do
                if zx[i]=hx[h2] then begin m:=i;break;end;
                   { WRITELN('m=',M);}
              min1:=maxint;max1:=0;
              for i:=z1 to m-1 do
                 for j:=h1 to h2 do
                    if zx[i]=hx[j] then
                     begin if j<min1 then min1:=j;
                           if j>max1 then max1:=j;end;
                   
              min2:=maxint;max2:=0;
              for i:=m+1 to z2 do
                 for j:=h1 to h2 do
                    if zx[i]=hx[j] then
                     begin if j<min2 then min2:=j;
                           if j>max2 then max2:=j;end;
         
              IF (Z1<=m-1) and (min1<=max1) then
                   p^.left:=gen(z1,m-1,min1,max1)
              else p^.left:=nil;
              IF (m+1<=Z2) and (min2<=max2) then
                   p^.right:=gen(m+1,z2,min2,max2)
              else p^.right:=nil;
         end;

end;



begin
     assign(input,'nlr.in');
     reset(input);
     READLN(ZX);READLN(HX);
     close(input);
     assign(output,'nlr.out');
     rewrite(output);
     HEAD:=gen(1,lenGTH(ZX),1,lenGTH(HX) );
     writeln;
     close(output);
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -