У меня есть n x m
матрица, состоящая из неотрицательных целых чисел. Например:
2 3 4 7 1
1 5 2 6 2
4 3 4 2 1
2 1 2 4 1
3 1 3 4 1
2 1 4 3 2
6 9 1 6 4
«Сбрасывание бомбы» уменьшает на единицу число целевой ячейки и всех восьми ее соседей до минимума нуля.
x x x
x X x
x x x
Что такое алгоритм, который бы определял минимальное количество бомб, необходимое для сокращения всех ячеек до нуля?
Вариант Б (из-за того, что я не внимательный читатель)
На самом деле, первая версия проблемы не та, на которую я ищу ответ. Я не внимательно прочитал всю задачу, есть дополнительные ограничения, скажем так:
Как насчет простой проблемы, когда последовательность в строке не должна увеличиваться:
8 7 6 6 5
возможна входная последовательность
7 8 5 5 2
невозможно, так как 7 -> 8 растет в последовательности.
Возможно, поиск ответа для «более простого» случая поможет найти решение для более сложного.
PS: я считаю, что когда у нас несколько одинаковых ситуаций, требующих минимального количества бомб для очистки верхней линии, мы выбираем тот, который использует большинство бомб с «левой стороны» ряда. Все еще есть доказательства, которые могут быть верными?
what's the minimum amount of bombs required to clean the board?
таков : означает ли это, что не обязательно нужно искать фактическую схему бомбардировки, а просто минимальное количество бомб?