QOJ.ac

QOJ

時間限制: 2 s 記憶體限制: 512 MB 總分: 100

#5269. 骰子网格

统计

Debora 正在玩一款电子游戏。在其中一个关卡中,她得到了一个立方体和一个平面的 $n \times n$ 网格。网格中第 $i$ 行第 $j$ 列的单元格记为 $(i, j)$,其颜色为 $c_{i,j}$。Debora 可以看到整个网格,包括每个单元格的颜色。

立方体面的大小与网格单元格的大小相同。当我们说立方体位于单元格 $(i, j)$ 时,意味着它的底面与网格单元格 $(i, j)$ 重合。与底面相对的是顶面。朝向单元格 $(i + 1, j)$ 的面称为前侧面。后侧面朝向 $(i - 1, j)$,右侧面朝向 $(i, j + 1)$,左侧面朝向 $(i, j - 1)$。

最初,立方体位于单元格 $(1, 1)$。游戏的目标是将立方体滚动到单元格 $(n, n)$。

从任何单元格 $(i, j)$ 出发,Debora 只能将立方体向下移动到 $(i + 1, j)$,或者向右移动到 $(i, j + 1)$。向下移动的方式是绕着底面和前侧面之间的棱旋转立方体。例如,旋转后,前侧面成为新的底面。同样,向右移动的方式是绕着底面和右侧面之间的棱旋转立方体。

立方体的各个面尚未着色。Debora 必须为每个面涂上她想要的任何颜色。在游戏的每一刻,包括立方体位于 $(1, 1)$ 和 $(n, n)$ 的时刻,立方体底面的颜色必须与立方体所在网格单元格的颜色相匹配。

目标是为立方体着色,使得 Debora 能够按照上述条件将立方体从单元格 $(1, 1)$ 移动到单元格 $(n, n)$。请找出任何一种可能的立方体着色方案。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 $t$ ($1 \le t \le 625$)。接下来是各测试用例的描述。

每个测试用例的第一行包含一个整数 $n$ — 网格的行数和列数 ($2 \le n \le 50$)。

接下来的 $n$ 行中,第 $i$ 行包含 $n$ 个整数 $c_{i,1}, c_{i,2}, \dots, c_{i,n}$ ($0 \le c_{i,j} < 2^{24}$)。单元格 $(i, j)$ 的 RGB 颜色为 $c_{i,j}$。

保证所有测试用例的 $n^2$ 之和不超过 2500。

输出格式

对于每个测试用例,如果不存在这样的着色方案,请在单独的一行中输出单词 “No”。

否则,在第一行输出单词 “Yes”。

在第二行,输出六个整数 $a_b, a_l, a_k, a_f, a_r$ 和 $a_t$ — 分别代表立方体在初始位置 $(1, 1)$ 时,底面、左侧面、后侧面、前侧面、右侧面和顶面的颜色 ($0 \le a_i < 2^{24}$)。

如果存在多种可能的着色方案,输出其中任意一种即可。

样例

输入 1

4
2
1 1
0 0
3
1 2 3
9 6 4
7 8 1
4
1 2 3 4
9 8 7 5
10 8 12 2
13 14 15 6
4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

输出 1

Yes
1 3 4 0 0 5
Yes
1 10 10 4 2 3
Yes
1 4 6 5 2 3
No

说明

在第三个样例测试用例中,立方体可以通过以下移动序列从 $(1, 1)$ 移动到 $(4, 4)$:右、右、右、下、下、下。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.