Desafío
Dada una matriz de enteros positivos, determine si hay "anillos" de montañas. La definición formal de este desafío es: dada una matriz de enteros positivos, ¿hay algún entero positivo npara el que haya un anillo cerrado de celdas en la matriz que sea estrictamente mayor nque todas las celdas encerradas en el anillo son menores o iguales? a n.
Tomemos un ejemplo verdadero:
3 4 5 3
3 1 2 3
4 2 1 3
4 3 6 5
Si establecemos na 2:
1 1 1 1
1 0 0 1
1 0 0 1
1 1 1 1
Como podemos ver claramente, las 1s a lo largo del borde forman un anillo.
Definimos un anillo como una colección ordenada de celdas donde las celdas adyacentes en la colección también son adyacentes (borde o esquina) en la cuadrícula. Además, el anillo debe contener al menos 1 celda dentro de él; es decir, intentar rellenar con BFS solo borde toda la matriz, excluyendo las celdas en la colección y nunca atravesando una celda en la colección, debe perder al menos una celda.
Casos de prueba de la verdad
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
Falsy Test Cases
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
Reglas
- Se aplican lagunas estándar
- Este es el código de golf , por lo que la respuesta más corta en bytes en cada idioma se declara ganadora de su idioma. No se aceptarán respuestas.
- La entrada puede tomarse como cualquier forma razonable para una matriz de enteros positivos
- La salida se puede dar como dos valores razonables, consistentes y distintos que indican [verdadero] o [falso].
nCuál es el tercer caso de prueba "verdadero" realmente verdadero? [1,2] ?