#P1016. 六边形战棋(chess)
六边形战棋(chess)
题目描述
该战棋游戏在一个 的棋盘上进行,每个格子都是正六边形。游戏需要两个玩家进行,一个为红方(使用红色棋子),一个为蓝方(使用蓝色棋子)。玩家先后手顺序是随机的(也就是双方都有可能先手)。
游戏开始时棋盘为空,两个玩家轮流放一个属于自己颜色方的棋子到棋盘的空格当中。允许放在任意空格,不一定非要放在已有同颜色的相邻格子。
游戏的棋盘比较特殊,棋盘的上边界和下边界为红色,左边界和右边界为蓝色。对于任意玩家,游戏目标是在棋盘上放置己方棋子,联通两个己方颜色的边界。第一个达成该目标的玩家为胜利方,游戏在出现一方胜利后马上结束。
特别地,认为棋盘四个角落的格子是两种颜色都联通的。
现在,给你若干个表示棋局排布的数据,设计程序帮助判断这些棋局排布属于以下何种状态:
Impossible: 按游戏进行的规则,不可能出现该种棋局排布,即为Impossible状态。Red: 红方赢得胜利。Blue: 蓝方赢得胜利。Playing: 尚未决出胜者。
注意:当出现规则外的棋局排布,即 Impossible 状态时,即使棋盘上某颜色棋子已经联通同色边界,但也只能算作 Impossible 状态,不能计为任一方胜利。
以下是一个在 棋盘上的范例,此时蓝方胜出。(图中数字为落子顺序)

输入格式
第一行一个整数 T,表示数据组数。每组数据格式如下:
第一行一个整数 表示棋盘大小
接下来的 行,每行是一个长度 的字符串,用于描述棋盘布局。
其中,R 表示该位置放置红方棋子;B 表示该位置放置蓝方棋子;. 表示该位置为空格,未放置任何棋子。
输出格式
共 T 行,每行输出给定的棋盘布局对应的棋局状态。
注:棋局状态即为 Impossible、Red、Blue、Playing之一(注意区分大小写)
测试样例
3
2
BR
BB
4
BBBB
BBB.
RRR.
RRRR
6
......
..R...
BBBBBB
..R.R.
..RR..
......
Impossible
Blue
Blue
样例解释
样例一说明
第一组数据:按游戏规则不可能出现这样的情况,因此是 Impossible 状态
第二组数据:符合游戏规则,并且蓝方棋子联通左端和右端的蓝色边界,因此蓝方胜利。
第三组数据:对应题目描述中给出的范例,蓝方胜利。
数据范围
| 子任务 | 特殊性质 | |
|---|---|---|
| 无 | ||
| 数据保证有一方胜利 | ||
| 无 | ||
| 数据保证有一方胜利 | ||
| 无 |
对于 的数据,。