回 帖 发 新 帖 刷新版面

主题:问个关于栈的应用的很菜的问题。给出正确题解的+30

编号为1,2,3,...,n的n 辆车顺序开进一个栈式结构的车站。试给出这n 辆车开出车站的所有可能次序。例如编号为1,2,3,4的4辆车按照push,push,pop,push,push,pop,pop,pop操作,可使的开出车站的次序为2,4,3,1。

谢谢大家!

回复列表 (共2个回复)

沙发

真伤我自尊,我写了一刻钟的题被说成菜鸟题。。。。。。
var
  s:array[1..100]of integer;
  a:array[1..100]of integer;
  i,j,k,l,m,n:integer;
procedure serch(k{n},m{a},i{s}:integer);
var j,temp:integer;
begin
  if m=n then begin
                  for j:=1 to n do write(a[j],' ');
                  writeln;
                  exit;
                end;{full}
  if k<>n+1 then begin temp:=s[i+1]; s[i+1]:=k;serch(k+1,m,i+1); s[i+1]:=temp;end;{in}
  if i<>0 then begin
                 temp:=a[m+1];
                 a[m+1]:=s[i];
                 serch(k,m+1,i-1);
                 a[m+1]:=temp;
               end;{out}
end;
begin
  readln(n);
  serch(1,0,0);
end.
var好像多写了。。。。。。可能有错,我看起来没错

板凳

呵呵~~我是菜鸟啊~~问的问题当然是菜鸟问题

我来回复

您尚未登录,请登录后再回复。点此登录或注册