program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
Tr: array of array of Integer; // треугольник
currC: Integer; // текущая позиция
I,J,K: Integer;
size: Integer; // размер треугольника
Moves: Array of Integer; // массив ходов сверху вниз, ну все ясно
begin
// создаем треугольник
Write('Input size: ');
Readln(size);
SetLength(Tr,size);
SetLEngth(Moves,size);
// заполняем теругольник
Randomize;
for I := 0 to High(Tr) do
begin
SetLEngth(Tr[I],I+1);
for J := 0 to (I) do
Tr[I,J] := Random(90) + 10;
end;
// Получилось
for I := 0 to High(Tr) do
begin
for K := 0 to (High(tr)-I+1) do
Write(' ');
for J := 0 to High(Tr[I]) do
begin
Write(Tr[I,J],' ')
end;
WriteLn;
end;
//Ищем путь
CurrC := 0; // текущая наибольшая позиция
Moves[0] := Tr[0,0];
for I := 1 to High(Tr) do
begin
if Tr[I,CurrC]>Tr[I,CurrC+1] then
Moves[I] := Tr[I,CurrC]
else
begin
Moves[I] := Tr[I,CurrC+1];
inc(CurrC);
end;
end;
WriteLn;
WriteLn('Moves:');
for I := 0 to High(Moves) do
Write(Moves[I],' ');
Readln;
end.