有一个由 n x n 个格子组成的正方形,除了其中一个格子是空外,其余格子都放置了一个数字,数字从 1 到 n x n - 1,然后通过移动数字,让数字从左到右从上到下按顺序排列,空的格子会在右下角。
求实现目标的最小步骤数,并列出所有步骤。一个步骤中在一个方向上可以移动多个数字,步骤格式使用 [空格子位置, 移动方向, 移动数字个数]
表示
移动方向有 rtl, ltr, ttb, btt 四种。
例如对于 3 x 3 的情况
[
[3, 4 , 5],
[7, 8, _],
[1, 2, 6]
]
那么下一步的步骤可以是:
[[1, 2], 'ltr', 1],
[[1, 2], 'ltr', 2],
[[1, 2], 'ttb', 1],
[[1, 2], 'btt', 1] 中的一种。
现在给出一个二维数组,其中空的格子使用 0 表示,然后获取最小步骤数和实现的步骤列表。