Вступление
Существует плантация, определяемая одной большой квадратной доской, такой как эта:
Числа внутри каждого маленького квадрата представляют ценность его области / наличные деньги ...
Фермеру нужна помощь, чтобы найти N квадратов, которые соединились (это означает, что все N квадратов должны иметь хотя бы одну общую границу), чтобы дать ему наибольшую ценность.
Например:
Если N=1
, то вывод должен быть 140
.
Если N=6
, тогда ..
.. выход должен быть 315
.
Вызов
Ваша программа / функция должна принимать значения матрицы и число N в качестве входных данных / аргументов и должна выводить значение мощного соединения .
Поскольку это код-гольф , выигрывает самый короткий ответ в байтах!
Примеры
Входные данные:
10 -7 11 7 3 31
33 31 2 5 121 15
22 -8 12 10 -19 43
12 -4 54 77 -7 -21
2 8 6 -70 109 1
140 3 -98 6 13 20
6
Выход: 315
Входные данные:
35 -7
-8 36
2
Выход: 29
Ответы:
JavaScript (ES6), 190 байт
объяснение
Принимает матрицу в виде массива массивов.
Начинает с каждого квадрата, затем использует рекурсивную функцию для проверки каждой возможной комбинации. Это грубый метод, но он заканчивается почти мгновенно для первого контрольного примера на моей машине.
Тестовое задание
источник