Écrivez un programme ou une fonction qui accepte un entier positif N et une grille de chiffres décimaux (0 à 9) de largeur W et de hauteur H (qui sont également des entiers positifs). Vous pouvez supposer que N sera inférieur ou égal au plus grand de W et H.
Imprimez ou renvoyez le plus grand nombre de N contigus qui apparaît horizontalement ou verticalement dans la grille, écrit dans l'ordre de lecture normal ou inversé.
- Les lignes diagonales de chiffres ne sont pas prises en compte.
- La grille ne s'enroule pas, c'est-à-dire qu'elle n'a pas de conditions aux limites périodiques.
Par exemple, la grille 3 × 3
928
313
049
aurait 9
comme sortie pour N = 1, 94
comme sortie pour N = 2, et940
comme sortie pour N = 3.
La grille 4 × 3
7423
1531
6810
aurait 8
comme sortie pour N = 1, 86
pour N = 2, 854
pour N = 3, et7423
pour N = 4.
La grille 3 × 3
000
010
000
aurait une sortie 1
pour N = 1, et 10
pour N = 2 et N = 3 (010
est également valable pour N = 3).
La grille 1 × 1
0
aurait une sortie 0
pour N = 1.
Vous pouvez prendre l'entrée dans n'importe quel format raisonnable et pratique. Par exemple, la grille peut être une chaîne de chiffres séparée par des sauts de ligne, ou un tableau multidimensionnel, ou une liste de listes de chiffres, etc. Les zéros de tête sont autorisés dans la sortie s'ils faisaient partie de la grille.
Il s'agit de code-golf , donc le code le plus court en octets gagne, mais j'attribuerai également des points brownie (c'est-à-dire des votes plus probables) pour les réponses qui peuvent montrer que leur algorithme est efficace sur le plan des calculs.