Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как на с++ написать задачу?

Задана матрица натуральных чисел A(n,m). За каждый проход через клетку (i,j) взымается штраф A(i,j). Необходимо минимизировать штраф и
а) Пройти из какой-либо клетки 1-ой строки в n-ую строчку, при этом из текущей клетки можно перейти
1) в любую из 3-х соседних, стоящих в стpоке с номеpом на 1-цу большем;
2) в любую из 8 соседних клеток;
б) Реализовать пункт a) для перехода из клетки (1,1) в (n,m).
Домашние заданияС++Программирование с++
Богдан Ястржембский
  ·
Математик-теоретик, занимаюсь исследованиями в области дифференциальных уравнений с запазд...  · 23 сент 2021
Здравствуйте! Интересная задача. Я полагаю, что могут сработать два метода.
  1. Метод полного перебора вариантов. Наиболее простой подход, но при больших размерностях может не хватить ресурсов компьютера.
  2. Метод динамического программирования. Скорее всего этот подход более прагматичен, но придется подумать над формулами перехода от одного этапа к другому. Основная идея этого метода заключается в том, чтобы выбирать каждый следующий шаг с учётом оптимальности всех последующих (или предыдущих) шагов - принцип оптимальности Беллмана. А уравнения, которые Вам понадобятся - это уравнения Беллмана.
Инженер путей сообщения – строитель  · 23 сент 2021
Это называется «транспортная задача». Решением такого рода задач занимается логистика. В самом простом случае задача решается перебором. Хотя, может быть и существуют уже алгоритмы её решения.