cazuncko2016
20.01.2022 14:18

Буратино бежит по полю в Стране дураков и срывает с выросших из его монеток деревьев деньги. За ним гонится Карабас-Барабас, так что времени обходить все деревья нет, можно только пробежать один раз из правого верхнего угла в левый нижний. При этом один раз за всё поле Буратино может воззвать к доброй лисе Алисе, которая добавит ему в карман число монет, равное удвоенной последней цифре текущей суммы у него в кармане. Проложите подходящий маршрут, и укажите, в какой момент лучше обращаться к Алисе. Формат входных данных Программа получает на вход через пробел r, c - количество строк и столбцов в матрице (количество рядом деревьев и деревьев в ряду). Потом r строк, каждая из которых состоит из c чисел, разделённых пробелами. Каждое число соответствует количеству монет, которые можно собрать с данного дерева. Все числа целые, в пределах от 1 до 100 включительно. Формат выходных данных Программа выводит на экран наибольшее количество монет, которое может собрать Буратино, если он будет идти от верхнего правого угла поля до нижнего левого угла включительно. Он может перемещаться только вниз и влево. При этом, когда он попадает на клетку с числом Х, количество монет у него увеличивается на Х. Также один раз после перехода в какую-то клетку дополнительно Буратино добавится 2Х монет, где Х - младшая цифра в количестве монет в его кармане на момент прихода в данную клетку. После количества монет программа выводит маршрут Буратино, состоящий из букв Н (вниз), Л (влево), А (Алиса), суммарно букв должно быть r + c - 1. Буква А встречается в маршруте ровно один раз, при одинаковых итоговых суммах - как можно раньше. Буквы разделены пробелами. Ввод: 3 6 6 3 7 8 5 7 6 9 1 7 9 9 1 1 4 3 2 5 Вывод: 67 Н Л Л Л Л Л Н А

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
natali31174
23.01.2020 04:30
Program chik;
var a:array[1..100,1..100]of integer;
n,m,i,j:integer;
begin
readln(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
for i:=1 to n do
for j:=m downto 1 do
if(a[i,j] mod 2=0)then a[i,j]:=a[i,j]+a[i,1];
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j],' ');
writeln;
end;
end.
n,m-размеры матрицы
a[i,j]-элементы матрицы
пример
n=3 m=3
1 2 3
4 5 6
7 8 9

вывод:
1 3 3 
8 5 10
7 15 9 
a[1,2]:=a[1,2]+a[1,1]=2+1=3
a[2,1]:=a[2,1]+a[2,1]=4+4=8
..
но чтобы первый элемент строки не изменился перед тем как нам нужно будет проверит другие элементы поэтому for j:=m downto 1 
делаем т.е с конца строки проверяем чтобы первый эл.строки матрицы не изменилась
Надеюсь всё понятно
0,0(0 оценок)
Ответ:
Маликакот
26.10.2021 04:19
Var 
a: array[1..n] of integer; 
k, i, m: byte; 
min: integer;

begin 
Write('Razmer massiva: '); 
Readln(k); 
if (k < 0) or (k > 100) then     
begin       
Writeln('Razmer dolzhen byt bolshe 0 i menshe 100');       
Readln;       
Exit;     
end; 
Randomize; 
Writeln('Ishodn. massiv: '); 
for i:=1 to k do     
begin       
a[i]:=Random(101)-50;       
write(a[i]:4);     
end; 
min:=a[1]; 
for i:=2 to k do   
if a[i] < min then       
begin         
min:=a[i];         
m:=i;       
end; 
a[m] := a[1]; 
a[1] := min; 
Writeln; 
Writeln('Min element = ', min:4, ' v posicii ', m:3); 
Writeln('Rezult. massiv: '); 
for i:=1 to k do     
write(a[i]:4); 
readln;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота