#SLT04D. 2026年S组模拟赛10连测第4场-T4 还原魔方阵

2026年S组模拟赛10连测第4场-T4 还原魔方阵

项目 内容
输入文件名 cube.in
输出文件名 cube.out
可执行文件名 cube
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

某仓库调度室的墙上有一块调度屏,屏面是一块 33 行 44 列的编号面板,共 1212 个格子,每个格子里写着一个编号。每个工作日开班前,面板应处于标准状态:第一行从左到右依次写着 1,2,3,41, 2, 3, 4,第二行依次写着 5,6,7,85, 6, 7, 8,第三行依次写着 9,10,11,129, 10, 11, 12,即第 ii 行第 jj 列的格子里写着编号 4(i−1)+j4(i-1)+j。

调度屏支持 1414 种微调操作,每次操作可以从中任选一种执行:选定第 ii 行(i=1,2,3i = 1, 2, 3),将该行的四个格子循环左移一格,即该行格子自左而右由 (a,b,c,d)(a, b, c, d) 变为 (b,c,d,a)(b, c, d, a);或将该行的四个格子循环右移一格,即由 (a,b,c,d)(a, b, c, d) 变为 (d,a,b,c)(d, a, b, c)。选定第 jj 列(j=1,2,3,4j = 1, 2, 3, 4),将该列的三个格子循环上移一格,即该列格子自上而下由 (a,b,c)(a, b, c) 变为 (b,c,a)(b, c, a);或将该列的三个格子循环下移一格,即由 (a,b,c)(a, b, c) 变为 (c,a,b)(c, a, b)。每执行一次上述变动计为一次操作。

一次交接班时的误操作把面板打乱了,值班员需要把面板恢复成标准状态。给定面板当前的状态,请你求出恢复成标准状态所需的最少操作次数。

输入格式

从文件 cube.in 中读入数据。

输入共 33 行,每行 44 个整数。第 ii 行的第 jj 个整数表示面板当前第 ii 行第 jj 列格子中的编号。

输出格式

输出到文件 cube.out 中。

输出一行一个整数,表示恢复成标准状态所需的最少操作次数。

样例

2 3 4 1
5 6 7 8
9 10 11 12
1

样例 1 解释

对第 11 行循环右移一格,该行由 (2,3,4,1)(2, 3, 4, 1) 变为 (1,2,3,4)(1, 2, 3, 4),面板恢复标准状态。

2 6 4 1
8 5 11 7
9 10 3 12
3

样例 2 解释

一种还原路径如下。先对第 11 行循环右移一格:

1 2 6 4
8 5 11 7
9 10 3 12

再对第 33 列循环下移一格:

1 2 3 4
8 5 6 7
9 10 11 12

最后对第 22 行循环左移一格:

1 2 3 4
5 6 7 8
9 10 11 12

共 33 次操作。

1 2 3 4
5 6 7 8
9 10 11 12
0

数据范围

对于所有测试数据,保证:

  • 输入的 1212 个整数恰好是 1∼121 \sim 12 的一个排列;
  • 设恢复成标准状态所需的最少操作次数为 AA,则 0≤A≤120 \le A \le 12。

各测试点的约束如下:

测试点 AA 特殊性质
1∼41\sim4 ≤5\le 5 无
5∼105\sim10 ≤6\le 6
11∼1411\sim14 ≤9\le 9
15∼2015\sim20 ≤12\le 12
难度 未评定
通过率 —
尝试 0
通过 0
ID
3784
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者