#P16621. [GKS 2017 #C] X Squared

[GKS 2017 #C] X Squared

题目描述

今年火爆的新玩具叫做 “X 平方”。它由一个 N×NN \times N 的方格盘组成,其中 NN 为奇数。恰好有 2×N12 \times N - 1 个格子上标有 X,其余格子为空白(用 . 字符表示)。在游戏的每一步中,玩家可以选择并交换两行格子,或者选择并交换两列格子。游戏的目标是让所有 X 都位于棋盘的的两条主对角线上,形成一个更大的 X 形状,如下面 N=5N = 5 的例子所示:

X...X
.X.X.
..X..
.X.X.
X...X

你正准备玩你的 X 平方玩具,但它目前尚未达到目标状态。你怀疑你调皮的弟弟可能移动了一些格子,导致游戏无法完成。给定当前棋盘的配置,你能判断是否可能获胜吗?

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例的第一行是一个整数 NN,表示棋盘的大小。接着 NN 行,每行包含 NN 个字符;其中第 ii 行的第 jj 个字符,如果棋盘第 ii 行第 jj 列的格子上有 X,则为 X,否则为 .

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yyPOSSIBLE(如果可能获胜)或 IMPOSSIBLE(否则)。

2
3
..X
XX.
XX.
3
...
XXX
XX.
Case #1: POSSIBLE
Case #2: IMPOSSIBLE

提示

在样例 #1 中,一种获胜策略为:

  1. 交换第一行与中间行。
  2. 交换最右侧列与中间列。
..X    XX.    X.X
XX. -> ..X -> .X.
XX.    XX.    X.X

在样例 #2 中,没有任何操作序列能将棋盘变成所需的目标配置。

限制条件

1T1001 \le T \le 100

Nmod2=1N \bmod 2 = 1NN 为奇数)。

棋盘中恰好有 2×N12 \times N - 1 个 X 和 N22×N+1N^2 - 2 \times N + 1.

棋盘尚未处于题目描述中的目标状态。

小数据集(测试集 1 – 可见)

3N53 \le N \le 5

大数据集(测试集 2 – 隐藏)

3N553 \le N \le 55

翻译由 DeepSeek V4 Pro 完成