Шістнадцять паль сиру кладуть на квадрат 4х4. Вони позначені від до 16 . Найменша купа - 1, а найбільша - 16 .
Голодна миша настільки голодна, що завжди прямує до найбільшої купи (тобто ) і їсть її відразу.
Після цього він іде до найбільшої сусідньої купи та швидко їсть і цю. (Так ... Це справді голодно.) І так далі, поки вже немає сусідньої купи.
Купа може мати до 8 сусідів (по горизонталі, вертикалі та по діагоналі). Немає обгортки.
Приклад
Почнемо з таких паль сиру:
Голодна миша спочатку з'їдає , а потім її найбільшу купу сусіда, а це .
Наступні її кроки - , , , , , , , , і у такому точному порядку.
Навколо Голодного Миша вже немає сиру, тому він зупиняється на цьому.
Змагання
Враховуючи початкову конфігурацію сиру, ваш код повинен надрукувати або повернути суму залишилися паль, як тільки голодна миша перестала їх їсти.
У наведеному прикладі очікувана відповідь - .
Правила
- Оскільки розмір вхідної матриці є фіксованим, ви можете приймати її як 2D-масив або одновимірний масив.
- Кожне значення від до гарантовано з’явиться рівно один раз.
- Це код-гольф .
Тестові справи
[ [ 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]]