//先序:根-左-右 //中序:左-根-右 //后序:左-右-根 program P1441; var zx,hx:string;//zx是给出的中序序列、hx是给出的后序序列 procedure work(x,y:string); var l,k:longint; begin if y<>'' then//我们找的是后序序列的最后一个(即根)在中序序列中的位置,如果后序序列为空,则表示根节点已遍历完。 begin l:=length(y);//为后序序列的长度 k:=pos(y[l],x);//后序序列的最后一个(即根节点位于中序序列的位置) write(y[l]);//这个即为根,然后按照根-左-右即先序序列的顺序输出 work(copy(x,1,k-1),copy(y,1,k-1)); work(copy(x,k+1,l-k),copy(y,k,l-k)); end; end; begin assign(input,'P1441.in'); reset(input); assign(output,'P1441.out'); rewrite(output); readln(zx); readln(hx); work(zx,hx); close(input); close(output); end.