Escriba un programa o función que tome un entero positivo N y una cuadrícula de dígitos decimales (0 a 9) con ancho W y altura H (que también son enteros positivos). Puede suponer que N será menor o igual que el mayor de W y H.
Imprima o devuelva el número de N dígitos contiguos más grande que aparece horizontal o verticalmente en la cuadrícula, escrito en orden de lectura normal o al revés.
- No se consideran líneas diagonales de dígitos.
- La cuadrícula no se ajusta, es decir, no tiene condiciones de contorno periódicas.
Por ejemplo, la cuadrícula 3 × 3
928
313
049
tendría 9
como salida para N = 1, 94
como salida para N = 2 y 940
como salida para N = 3.
La cuadrícula 4 × 3
7423
1531
6810
tendría 8
como salida para N = 1, 86
para N = 2, 854
para N = 3 y 7423
para N = 4.
La cuadrícula 3 × 3
000
010
000
tendría salida 1
para N = 1, y 10
para N = 2 y N = 3 ( 010
también es válido para N = 3).
La cuadrícula 1 × 1
0
tendría salida 0
para N = 1.
Puede tomar la entrada en cualquier formato razonable conveniente. por ejemplo, la cuadrícula podría ser una cadena de dígitos separada por una nueva línea, o una matriz multidimensional, o una lista de listas de dígitos, etc. Los ceros iniciales están permitidos en la salida si fueran parte de la cuadrícula.
Este es el código de golf , por lo que gana el código más corto en bytes, pero también otorgaré puntos brownie (es decir, votos más probables) por respuestas que pueden mostrar que su algoritmo es computacionalmente eficiente.