introduction
Il y a une plantation définie par un grand carré comme celui-ci:
Les nombres à l'intérieur de chaque petit carré représentent la valeur de sa zone / cash / ...
L'agriculteur a besoin d'aide pour trouver les N carrés connectés (cela signifie que tous les N carrés doivent avoir au moins une frontière partagée) lui donner la plus grande valeur.
Par exemple:
Si N=1
, alors la sortie doit être140
.
Si N=6
, alors ..
..la sortie doit être 315
.
Défi
Votre programme / fonction doit prendre les valeurs de la matrice et le nombre N comme entrée / arguments et doit sortir la valeur de la connexion puissante .
Puisqu'il s'agit de code-golf , la réponse la plus courte en octets gagne!
Exemples
Contribution:
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
Production: 315
Contribution:
35 -7
-8 36
2
Production: 29
Réponses:
JavaScript (ES6), 190 octets
Explication
Prend la matrice comme un tableau de tableaux.
Commence à partir de chaque carré puis utilise une fonction récursive pour tester toutes les combinaisons possibles. Il s'agit d'une approche par force brute, mais elle se termine presque instantanément pour le premier cas de test sur ma machine.
Tester
la source