#2439. 2022年莆田市校园创客节(高中组)——战棋游戏

2022年莆田市校园创客节(高中组)——战棋游戏

说明

该战棋游戏在一个 $N \times N$ 的棋盘上进行,每个格子都是正六边形。游戏需要两个玩家进行,一个为红方(使用红色棋子),一个为蓝方(使用蓝色棋子)。玩家先后手顺序是随机的(也就是双方都有可能先手)。

游戏开始时棋盘为空,两个玩家轮流放一个属于自己颜色方的棋子到棋盘的空格当中。允许放在任意空格,不一定非要放在已有同颜色的相邻格子。

游戏的棋盘比较特殊,棋盘的上边界和下边界为红色,左边界和右边界为蓝色。对于任意玩家,游戏目标是在棋盘上放置己方棋子,联通两个己方颜色的边界。第一个达成该目标的玩家为胜利方,游戏在出现一方胜利后马上结束。

特别地,认为棋盘四个角落的格子是两种颜色都联通的。

现在,给你若干个表示棋局排布的数据,设计程序帮助判断这些棋局排布属于以下何种状态:

  • Impossible: 按游戏进行的规则,不可能出现该种棋局排布,即为Impossible状态。
  • Red: 红方赢得胜利。
  • Blue: 蓝方赢得胜利。
  • Playing: 尚未决出胜者。

注意:当出现规则外的棋局排布,即Impossible状态时,即使棋盘上某颜色棋子已经联通同色边界,但也只能算作Impossible状态,不能计为任一方胜利。

以下是一个在 $6 \times 6$ 棋盘上的范例,此时蓝方胜出。(图中数字为落子顺序)


hex.png

输入格式

第一行一个整数 T,表示数据组数。每组数据格式如下:

第一行一个整数 $N$ 表示棋盘大小

接下来的 $N$ 行,每行是一个长度 $N$ 的字符串,用于描述棋盘布局。

其中,R表示该位置放置红方棋子;B表示该位置放置蓝方棋子;.表示该位置为空格,未放置任何棋子。

输出格式

共 T 行,每行输出给定的棋盘布局对应的棋局状态。

注:棋局状态即为ImpossibleRedBluePlaying之一(注意区分大小写)

样例

3
2
BR
BB
4
BBBB
BBB.
RRR.
RRRR
6
......
..R...
BBBBBB
..R.R.
..RR..
......
Impossible
Blue
Blue

提示

样例解释

样例一说明

第一组数据:按游戏规则不可能出现这样的情况,因此是Impossible状态

第二组数据:符合游戏规则,并且蓝方棋子联通左端和右端的蓝色边界,因此蓝方胜利。

第三组数据:对应题目描述中给出的范例,蓝方胜利。

数据范围

子任务$N$特殊性质
$\texttt{1(20pts)}$$ =1 $
$\texttt{2(20pts)}$$ \le 10 $数据保证有一方胜利
$\texttt{3(20pts)}$$ \le 10 $
$\texttt{4(20pts)}$$ \le 100 $数据保证有一方胜利
$\texttt{5(20pts)}$$ \le 100 $

对于 $100\%$ 的数据,$ 1 \le T \le 100, 1 \le N \le 100 $。