Квадрат разлинован ** N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по...

+565 голосов
2.3m просмотров

Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа – сначала максимальную сумму, затем минимальную. Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.


image

Информатика (56 баллов) | 2.3m просмотров
Дан 1 ответ
+173 голосов

Держи на языке программирования python, может поймешь принцип работы, если не понял обращайся.

(528 баллов)
+181

сможете подсказать?

+174

я это понимал при решении задачи, но не знаю как пройтись по всем возможным случаям

+61

(Указал в "примере" квадрат 3*3, у которого в нижнем-левом углу лежит сотня, при этом остальные числа в сумме намного меньше ста. Правда в поиске наибольшего числа возможно собранных монет робот по этой программе эту сотню упустит, хотя очевидно, что её нужно подобрать, чтобы собрать как можно больше)

+153

Если я правильно понял (Всё никак не пересяду на Питон :), эта программа указывает роботу делать следующее: "Если справа по строчке число больше, чем в клетке внизку, то иди вправо, а если нет, то спускайся вниз (Прибавляя при этом значение монет на проходимых клетках к общей сумме)", и то же самое касательно наименьших значений. Но это не совсем верно. Не факт, что робот таким образом выберет оптимальную стратегию. Пример:
10 30 5
1 10 10
100 1 1
Этот алгоритм выведет 61 и 23. Верно ли это?

+121

да нет, по условию вроде не нужно