Défi
Étant donné une matrice d'entiers positifs, déterminez s'il existe des «anneaux» de montagnes. La définition formelle de ce défi est: étant donné une matrice d'entiers positifs, y a-t-il un entier positif n
pour lequel il y a un anneau fermé de cellules dans la matrice qui est strictement supérieur à n
tel que toutes les cellules enfermées dans l'anneau soient inférieures ou égales à n
.
Prenons un exemple véridique:
3 4 5 3
3 1 2 3
4 2 1 3
4 3 6 5
Si nous nous mettons n
à 2
:
1 1 1 1
1 0 0 1
1 0 0 1
1 1 1 1
Comme nous pouvons le voir clairement, les 1
s le long du bord forment un anneau.
Nous définissons un anneau comme une collection ordonnée de cellules où les cellules adjacentes de la collection sont également adjacentes (bord ou coin) sur la grille. De plus, l'anneau doit contenir au moins 1 cellule à l'intérieur de celui-ci; c'est-à-dire que toute tentative de remplissage BFS en bordure seule de la matrice entière à l'exclusion des cellules de la collection et de ne jamais traverser une cellule de la collection doit manquer au moins une cellule.
Cas de test authentiques
4 7 6 5 8 -> 1 1 1 1 1
6 2 3 1 5 -> 1 0 0 0 1 (n = 3)
6 3 2 1 5 -> 1 0 0 0 1
7 5 7 8 6 -> 1 1 1 1 1
1 3 2 3 2
1 6 5 7 2
1 7 3 7 4
1 6 8 4 6
1 3 1
3 1 3
1 3 1
7 5 8 7 5 7 8 -> if you have n = 4, you get an interesting ridge shape around the top and right of the grid
8 4 4 2 4 2 7
6 1 8 8 7 2 7
5 4 7 2 5 3 5
5 6 5 1 6 4 5
3 2 3 2 7 4 8
4 4 6 7 7 2 5
3 2 8 2 2 2 8
2 4 8 8 6 8 8
5 7 6 8 6 8 7 -> there is an island in the outer ring (n = 4), but the island is a ring
5 3 2 4 2 4 7
6 3 7 8 5 1 5
8 2 5 2 8 2 7
8 3 8 8 8 4 7
6 1 4 1 1 2 8
5 5 5 5 7 8 7
150 170 150
170 160 170
150 170 150
Cas de test de falsification
1 2 3 2 1 -> this is just a single mountain if you picture it graphcially
2 3 4 3 2
3 4 5 4 3
2 3 4 3 2
1 2 3 2 1
4 5 4 3 2 -> this is an off-centered mountain
5 6 5 4 3
4 5 4 3 2
3 4 3 2 1
1 1 1 1 1 -> this is four mountains, but they don't join together to form a ring
1 2 1 2 1
1 1 1 1 1
1 2 1 2 1
1 1 1 1 1
3 3 3 3 3 -> there is a ring formed by the `3`s, but the `4` in the middle is taller so it doesn't qualify as a mountain ring
3 1 1 1 3
3 1 4 1 3
3 1 1 1 3
3 3 3 3 3
3 4 4 4 3
4 4 3 4 4
3 3 3 3 4
4 4 3 4 4
3 4 4 4 3
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
22 23 24 25 26
Règles
- Les échappatoires standard s'appliquent
- Il s'agit de code-golf , donc la réponse la plus courte en octets dans chaque langue est déclarée gagnante de sa langue. Aucune réponse ne sera acceptée.
- L'entrée peut être prise sous n'importe quelle forme raisonnable pour une matrice d'entiers positifs
- La sortie peut être donnée sous la forme de deux valeurs raisonnables, cohérentes et distinctes indiquant [vrai] ou [faux].
n
est le troisième cas de test "véridique" réellement véridique? [1,2] ?