Напишите программу или функцию, которая принимает положительное целое число 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.
Вы можете принять вход в любом удобном разумном формате. например, сетка может представлять собой строку цифр, разделенную символом новой строки, или многомерный массив, или список списков цифр и т. д. На выходе допускаются начальные нули, если они были частью сетки.
Это код-гольф , поэтому выигрывает самый короткий код в байтах, но я также начисляю баллы Брауни (то есть, скорее всего, положительные отзывы) за ответы, которые могут показать, что их алгоритм вычислительно эффективен.