... o vecindarios de Toroidal Moore
Enteros positivos Dadas h, wy un número entero no negativo i, devolver todos los índices de los alrededores i.
Debe asumir una matriz que consiste en hfilas de welementos, numerados desde el más bajo, en la esquina superior izquierda, hasta el más alto, en la esquina inferior derecha, y devolver, en cualquier formato razonable, una lista de los índices que rodear el índice, i. Esta matriz es un toro (un mapa infinito que se envuelve alrededor de cada borde).
Por ejemplo, las entradas h=4y w=4, darían como resultado la matriz:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
pero más específicamente:
15 12 13 14 15 12
3 0 1 2 3 0
7 4 5 6 7 4
11 8 9 10 11 8
15 12 13 14 15 12
3 0 1 2 3 0
así que si ifuera así 0, necesitaría regresar 15, 12, 13, 3, 1, 7, 4, 5(basado en 0).
Ejemplos
Basado en 0:
h w i Expected result
4 4 5 0, 1, 2, 4, 6, 8, 9, 10
4 4 0 15, 12, 13, 3, 1, 7, 4, 5
4 5 1 15, 16, 17, 0, 2, 5, 6, 7
1 3 2 1, 2, 0, 1, 0, 1, 2, 0
1 1 0 0, 0, 0, 0, 0, 0, 0, 0
Basado en 1:
h w i Expected result
4 4 6 1, 2, 3, 5, 7, 9, 10, 11
4 4 1 16, 13, 14, 4, 2, 8, 5, 6
4 5 2 16, 17, 18, 1, 3, 6, 7, 8
1 3 3 2, 3, 1, 2, 1, 2, 3, 1
1 1 1 1, 1, 1, 1, 1, 1, 1, 1
Reglas
- Su respuesta puede ser 0 o 1 indexada, su elección, por favor especifique.
- Puede suponer eso
i < h * w(oi <= h * wpara respuestas indexadas 1). - Puede suponer eso
i >= 0(oi > 0para respuestas indexadas 1). - El orden de los valores devueltos no es importante siempre que se incluyan solo los ocho valores deseados.
- Las lagunas estándar están prohibidas .
- Este es el código de golf, por lo que la respuesta más corta, en cada idioma, ¡gana!
¡Gracias a @Conor O'Brien por el título más técnico y a @ngm por más casos de prueba!