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