Дана двухмерная целочисленная матрица с размером (m,n)
, и один человек разрешает перемещаться от (0,0)
до (m-1,n-1)
. Действительные шаги идут вправо или вниз. Меня просят найти путь максимальной суммы, чтобы добраться до места назначения. Это довольно просто, так какЛучший маршрут, пересекающий лабиринт
MaxPathSum(i,j) = Math.max(MaxPathSum(i,j-1),MaxPathSum(i-1,j)) + Matrix[i][j]
Однако, если есть два человека, оба позволили пройти от (0,0)
до (m-1,n-1)
. Значение одной ячейки будет установлено равным нулю, как только эта ячейка будет посещена кем-то. Учитывая это ограничение, какова будет максимальная сумма этих двух путей?
Подсказка приветствуется. Благодарю.
Какая часть оригинальной проблемы говорит о том, что ячейка становится равной нулю при ее прохождении? –
И у вас есть только два варианта: прямо и вниз. Если правая ячейка становится нулевой, то единственный вариант для другого человека не работает. Поменяются ли они поочередно или заполняют лабиринт перед другим? –
@ cricket_007: Я тоже нашел это сбивающим с толку, но я считаю, что часть проблемы дается во втором абзаце. – LarsH