Напишите программу или функцию, которая принимает положительное целое число N и сетку десятичных цифр (от 0 до 9) с шириной W и высотой H (которые также являются положительными целыми числами). Можно предположить, что N будет меньше или равно большему из W и H.
Напечатайте или верните самое большое непрерывное число из N цифр, которое появляется в сетке горизонтально или вертикально, записанное в обычном порядке чтения или в обратном порядке.
- Диагональные линии цифр не учитываются.
- Сетка не оборачивается, то есть не имеет периодических граничных условий.
Например, сетка 3 × 3
928
313
049
будет иметь 9
как выход для N = 1, 94
как выход для N = 2, и 940
как выход для N = 3.
Сетка 4 × 3
7423
1531
6810
будет иметь 8
в качестве выхода для N = 1, 86
для N = 2, 854
для N = 3 и 7423
для N = 4.
Сетка 3 × 3
000
010
000
будет иметь выход 1
для N = 1, а 10
для N = 2 и N = 3 ( 010
также справедливо для N = 3).
Сетка 1 × 1
0
будет иметь выход 0
для N = 1.
Вы можете принять вход в любом удобном разумном формате. например, сетка может представлять собой строку цифр, разделенную символом новой строки, или многомерный массив, или список списков цифр и т. д. На выходе допускаются начальные нули, если они были частью сетки.
Это код-гольф , поэтому выигрывает самый короткий код в байтах, но я также начисляю баллы Брауни (то есть, скорее всего, положительные отзывы) за ответы, которые могут показать, что их алгоритм вычислительно эффективен.