首页 > 试题广场 >

program Program4; var m, n,

[填空题]
program Program4;
var
  m, n, i, j : integer;
  p, w, a, b : array[0..19] of integer;
begin
  read(n);
  m := 0;
  for i:= 0 to n - 1 do
  begin
    read(p[i]);
    b[i] := 1;
  end;
  for i:=0 to  n - 1 do
  begin
    if (i > 0) then
      a[m] := p[i] - p[i - 1]
    else
      a[m] := p[i];
    m := m + 1;
    while ((m > 1) and (a[m - 1] = 0)) do
    begin
      m := m - 1;
      b[m] := 1;
    end;
    if (m > 0) then
      w[i] := b[m - 1]
    else
      w[i] := b[0];
    a[m - 1] := a[m - 1] - 1;
    for j:=0 to m - 1 do    b[j] := b[j] + 1;
    while ((m > 1) and (a[m - 1] = 0)) do
    begin
      m := m - 1;
      b[m] := 1
    end;
  end;
  for i:= 0 to n-1 do
    begin
  write(w[i])
  write(' ')
end;
  writeln(' ');
end.
输入:9
4 6 6 6 6 8 9 9 9 9
输出:1

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