J'ai une n x m
matrice composée d'entiers non négatifs. Par exemple:
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
"Lâcher une bombe" diminue de un le nombre de la cellule cible et de ses huit voisins, jusqu'à un minimum de zéro.
x x x
x X x
x x x
Qu'est-ce qu'un algorithme qui déterminerait le nombre minimum de bombes nécessaires pour réduire toutes les cellules à zéro?
Option B (parce que je ne suis pas un lecteur attentif)
En fait, la première version du problème n'est pas celle pour laquelle je cherche une réponse. Je n'ai pas lu attentivement toute la tâche, il y a des contraintes supplémentaires, disons:
Qu'en est-il du problème simple, lorsque la séquence en ligne doit être non croissante:
8 7 6 6 5
est une séquence d'entrée possible
7 8 5 5 2
n'est pas possible puisque 7 -> 8 croissent en séquence.
Peut-être que trouver une réponse pour un cas "plus facile" aiderait à trouver une solution pour un cas plus difficile.
PS: Je crois que lorsque nous avons plusieurs mêmes situations nécessitant un minimum de bombes pour dégager la ligne supérieure, nous en choisissons une qui utilise la plupart des bombes sur le "côté gauche" de la rangée. Toujours une preuve qui pourrait être correcte?
what's the minimum amount of bombs required to clean the board?
cela signifie-t-il qu'il n'est pas nécessairement nécessaire de trouver un modèle de bombardement réel, mais juste le nombre minimal de bombes?