Einführung
Es gibt eine Plantage, die durch ein großes quadratisches Brett wie dieses definiert wird :
Die Zahlen in jedem kleinen Quadrat stehen für den Wert / das Bargeld / ...
Der Landwirt braucht Hilfe, um die N Quadrate zu finden, die verbunden sind (dies bedeutet, dass alle N Quadrate mindestens eine gemeinsame Grenze haben sollten). Dies gibt ihm den größten Wert.
Beispielsweise:
Wenn N=1
ja, dann muss der Ausgang sein 140
.
Wenn N=6
, dann ..
..die Ausgabe muss sein 315
.
Herausforderung
Ihr Programm / Ihre Funktion muss die Werte der Matrix und die Zahl N als Eingabe / Argumente verwenden und den Wert der leistungsfähigen Verbindung ausgeben .
Da es sich um Code-Golf , die kürzeste Antwort in Bytes gewinnt!
Beispiele
Eingang:
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
Ausgabe: 315
Eingang:
35 -7
-8 36
2
Ausgabe: 29
Antworten:
JavaScript (ES6), 190 Byte
Erläuterung
Nimmt die Matrix als Array von Arrays.
Beginnt bei jedem Quadrat und testet dann mit einer rekursiven Funktion jede mögliche Kombination. Dies ist ein Brute-Force-Ansatz, der jedoch für den ersten Testfall auf meinem Computer fast augenblicklich beendet wird.
Prüfung
quelle