16個のチーズの山を4x4の正方形に置きます。からまでのラベルが付いています。最小のパイルはで、最大のパイルはです。
空腹のマウスはとても空腹なので、常に最大の山(つまり)に直行し、すぐに食べます。
その後、最大の隣接する山に行き、その山もすぐに食べます。(うん...それは本当におなかがすいています。)隣の山がなくなるまで続きます。
パイルには最大8つの隣人(水平、垂直、斜め)があります。ラップアラウンドはありません。
例
以下のチーズの山から始めます。
ハングリーマウスは最初に食べ、次に最大の隣の山、つまり食べます。
その次の移動は、、、、、、、、、及びこの正確な順序で。
Hungry Mouseの周りにはチーズはもうないので、そこで止まります。
挑戦
チーズの初期構成を考えると、ハングリーマウスがそれらを食べるのをやめたら、コードは残りのパイルの合計を印刷または返す必要があります。
上記の例では、予想される回答はです。
ルール
- 入力行列のサイズは固定されているため、2D配列または1次元配列のいずれかとして受け取ることができます。
- からまでの各値は、度だけ表示されることが保証されています。
- これはcode-golfです。
テストケース
[ [ 4, 3, 2, 1], [ 5, 6, 7, 8], [12, 11, 10, 9], [13, 14, 15, 16] ] --> 0
[ [ 8, 1, 9, 14], [11, 6, 5, 16], [13, 15, 2, 7], [10, 3, 12, 4] ] --> 0
[ [ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12], [13, 14, 15, 16] ] --> 1
[ [10, 15, 14, 11], [ 9, 3, 1, 7], [13, 5, 12, 6], [ 2, 8, 4, 16] ] --> 3
[ [ 3, 7, 10, 5], [ 6, 8, 12, 13], [15, 9, 11, 4], [14, 1, 16, 2] ] --> 12
[ [ 8, 9, 3, 6], [13, 11, 7, 15], [12, 10, 16, 2], [ 4, 14, 1, 5] ] --> 34
[ [ 8, 11, 12, 9], [14, 5, 10, 16], [ 7, 3, 1, 6], [13, 4, 2, 15] ] --> 51
[ [13, 14, 1, 2], [16, 15, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12] ] --> 78
[ [ 9, 10, 11, 12], [ 1, 2, 4, 13], [ 7, 8, 5, 14], [ 3, 16, 6, 15] ] --> 102
[ [ 9, 10, 11, 12], [ 1, 2, 7, 13], [ 6, 16, 4, 14], [ 3, 8, 5, 15] ] --> 103
[[9, 10, 11, 12], [1, 2, 7, 13], [6, 16, 4, 14], [3, 8, 5, 15]]