#P16827. [NWRRC 2022]Dice Grid

[NWRRC 2022]Dice Grid

题目描述

Debora 正在玩一款电子游戏。在其中一个关卡中,她得到一个立方体和一个平放的彩色 n×nn\times n 网格。

ii 行第 jj 列的格子记为 (i,j)(i,j),颜色为 ci,jc_{i,j}。Debora 可以看到整个网格,包括每个格子的颜色。

立方体每个面的大小与一个网格格子相同。当我们说立方体位于格子 (i,j)(i,j) 时,表示它的底面与格子 (i,j)(i,j) 完全重合。底面的对面称为顶面;朝向格子 (i+1,j)(i+1,j) 的面称为前面;朝向 (i1,j)(i-1,j) 的面称为后面;朝向 (i,j+1)(i,j+1) 的面称为右面;朝向 (i,j1)(i,j-1) 的面称为左面。

立方体初始位于 (1,1)(1,1),目标是把它滚动到 (n,n)(n,n)

从任意格子 (i,j)(i,j) 出发,Debora 只能:

  • 向下滚到 (i+1,j)(i+1,j)
  • 向右滚到 (i,j+1)(i,j+1)

向下滚动时,立方体绕底面与前面的公共棱旋转,因此原来的前面会成为新的底面。向右滚动的定义类似,立方体绕底面与右面的公共棱旋转。

立方体的六个面目前都没有颜色。Debora 可以为每个面任意选择一种颜色。在游戏的每一个时刻,包括立方体位于起点 (1,1)(1,1) 和终点 (n,n)(n,n) 时,立方体底面的颜色必须与当前位置格子的颜色相同。

请给立方体的六个面染色,使 Debora 能够从 (1,1)(1,1) 滚到 (n,n)(n,n) 并始终满足上述条件。若无法做到,也请判断无解。

输入格式

输入包含多组测试数据。

第一行包含整数 tt,表示测试数据组数。

对于每组测试数据:

  • 第一行包含整数 nn,表示网格大小;
  • 接下来 nn 行,每行包含 nn 个整数,第 ii 行第 jj 个整数为 ci,jc_{i,j}

数据范围

1t625,1\le t\le 625, 2n50,2\le n\le 50, 0ci,j<224.0\le c_{i,j}<2^{24}.

所有测试数据的 n2n^2 之和不超过 25002500

输出格式

对于每组测试数据:

  • 若不存在合法染色,输出一行 No

  • 否则先输出一行 Yes,再输出六个整数

    ab,al,ak,af,ar,at,a_b,a_l,a_k,a_f,a_r,a_t,

    分别表示立方体初始位于 (1,1)(1,1) 时,底面、左面、后面、前面、右面和顶面的颜色。

每个输出颜色必须满足

0ai<224.0\le a_i<2^{24}.

若有多种合法染色,输出任意一种。

样例

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
Yes
1 3 4 0 0 5
Yes
1 10 10 4 2 3
Yes
1 4 6 5 2 3
No

样例说明

在第三组样例中,可以依次向右、向右、向右、向下、向下、向下,把立方体从 (1,1)(1,1) 移动到 (4,4)(4,4)