
Найти маршрут, двигаясь по которому мышка соберет наибольшее количество зернышек.
*****
var
a:array[0..102,0..102] of longint;
n,m,i,j:integer;
s:string;
begin
read(m,n);
if m>n then j:=m else j:=n;
for i:=0 to j do
begin
a[i,0]:=-1;
a[i,n+1]:=-1;
a[0,i]:=-1;
a[m+1,i]:=-1;
end;
for i:=1 to m do
for j:=1 to n do
read(a[i,j]);
for i:=m downto 1 do
for j:=1 to n do
if not((i=m)and(j=1)) then
if a[i,j-1]>a[i+1,j] then
a[i,j]:=a[i,j]+a[i,j-1]
else
a[i,j]:=a[i,j]+a[i+1,j];
i:=1;j:=n;
while(i=i)do
begin
if (i=m)and(j=1) then break;
if a[i,j-1]>a[i+1,j] then
begin
s:='R'+s;
j:=j-1;
end else
begin
s:='F'+s;
i:=i+1;
end;
end;
writeln(s);
end.
a:array[0..102,0..102] of longint;
n,m,i,j:integer;
s:string;
begin
read(m,n);
if m>n then j:=m else j:=n;
for i:=0 to j do
begin
a[i,0]:=-1;
a[i,n+1]:=-1;
a[0,i]:=-1;
a[m+1,i]:=-1;
end;
for i:=1 to m do
for j:=1 to n do
read(a[i,j]);
for i:=m downto 1 do
for j:=1 to n do
if not((i=m)and(j=1)) then
if a[i,j-1]>a[i+1,j] then
a[i,j]:=a[i,j]+a[i,j-1]
else
a[i,j]:=a[i,j]+a[i+1,j];
i:=1;j:=n;
while(i=i)do
begin
if (i=m)and(j=1) then break;
if a[i,j-1]>a[i+1,j] then
begin
s:='R'+s;
j:=j-1;
end else
begin
s:='F'+s;
i:=i+1;
end;
end;
writeln(s);
end.
*****
Комментариев нет:
Отправить комментарий