P13601 [NWRRC 2022] Dice Grid
题目描述
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$ 行,每行包含 $n$ 个整数 $c_{i, 1}, c_{i, 2}, \ldots, c_{i, n}$($0 \le c_{i, j} < 2^{24}$),表示格子 $(i, j)$ 的 RGB 颜色。
保证所有测试用例中 $n^2$ 的总和不超过 $2500$。
输出格式
对于每个测试用例,如果不存在可行的涂色方案,输出一行 $\tt{No}$。
否则,第一行输出一行 $\tt{Yes}$。
第二行输出六个整数 $a_b, a_l, a_k, a_f, a_r, a_t$,分别表示立方体在初始位置 $(1, 1)$ 时底面、左面、后面、前面、右面和顶面的颜色($0 \le a_i < 2^{24}$)。
如果存在多种可行的涂色方案,输出任意一种均可。
说明/提示
由 ChatGPT 4.1 翻译