首页 > 试题广场 >

procedure solve(first:string;s

[填空题]
procedure solve(first:string;spos_f,epos_f:integer;mid:string;spos_m,epos_m:integer);
var i,root_m:integer;
begin
  if spos_f > epos_f then exit;
  for i:=spos_m to epos_m do
    if first[spos_f]=mid[i] then begin
      root_m:=i;
      break;
    end;
solve(first,spos_f+1,spos_f+(root_m-spos_m),mid,spos_m,root_m-1);
solve(first,spos_f+(root_m-spos_m)+1,epos_f,mid,root_m+1,epos_m);
write(first[spos_f]);
end;
var   
first,mid:string;
  len:integer;
begin
  readln(len);
  readln(first);
  readln(mid);
  solve(first,1,len,mid,1,len);
  writeln;
end.

输入:
7
ABDCEGF
BDAGECF
输出:1

这道题你会答吗?花几分钟告诉大家答案吧!