饥饿的老鼠
将16堆奶酪放在4x4正方形上。它们被标记为到。最小的桩是,最大的桩是。1个111616161个11161616 饥饿的老鼠是如此饥饿,以至于它总是直接跳到最大的一堆(即)并立即吃掉它。161616 之后,它进入最大的相邻堆,并很快也吃掉那堆。(是的…… 真的很饿。)依此类推,直到不再有相邻的堆了。 一堆最多可以有8个邻居(水平,垂直和对角线)。没有环绕。 例 我们从以下几堆奶酪开始: 3615147891个101211165134237105681213159114141162\begin{matrix} 3&7&10&5\\ 6&8&12&13\\ 15&9&11&4\\ 14&1&16&2 \end{matrix} 饥饿的老鼠先吃掉,然后再吃掉最大的邻居堆,即。161616111111 3615147891个1012🐭↑5134237105681213159🐭4141↑2\begin{matrix} 3&7&10&5\\ 6&8&12&13\\ 15&9&🐭&4\\ 14&1&\color{grey}\uparrow&2 \end{matrix} 其下一个动作是,,,,,,,,和在此确切顺序。131313121212101010888151515141414999666777333 🐭↗↓↗←↙↖1个↙↑↗↑5←42🐭←↙5↗↙↑←↓↖↗4↗1↑2\begin{matrix} 🐭&\color{grey}\leftarrow&\small\color{grey}\swarrow&5\\ \small\color{grey}\nearrow&\small\color{grey}\swarrow&\color{grey}\uparrow&\color{grey}\leftarrow\\ \color{grey}\downarrow&\small\color{grey}\nwarrow&\small\color{grey}\nearrow&4\\ \small\color{grey}\nearrow&1&\color{grey}\uparrow&2 \end{matrix} 饥饿的老鼠周围不再有奶酪,所以它停在那里。 挑战 给定初始的奶酪配置,一旦饥饿的老鼠停止吃掉它们,您的代码必须打印或返回剩余的总和。 对于以上示例,预期答案为。121212 规则 由于输入矩阵的大小是固定的,因此可以将其作为2D数组或一维数组。 从到每个值都保证只出现一次。1个11161616 这是代码高尔夫球。 测试用例 [ [ 4, 3, 2, 1], [ 5, 6, 7, 8], [12, 11, 10, …