#B8011. 完美塔防
完美塔防
题目背景
小N最近喜欢玩一款塔防游戏。
题目描述
这款游戏的棋盘是一个 的网格,每个格子上会有以下类型物件:
1、A 型炮台:会向上下两个方向同时发射激光,符号为 |
2、B 型炮台:会向左右两个方向同时发射激光,符号为 -
3、空地:激光穿过该物件会保持方向前进,符号为 .
4、障碍:激光到达该物件会消失,符号为 #
5、正反射镜:激光到达该物件后,会依物理定律改变方向,但仍继续前进,
符号为 \
6、副反射镜:激光到达该物件后,会依物理定律改变方向,但仍继续前进,
符号为 /
注意激光之间可以互相穿过,但如果激光射出网格边界,也会消失。
小N是一个强迫症玩家,他想让每一处空地都会被至少一束激光打到,但不能让激光攻击到自己的炮台以致损坏。
小N可以将任意多的A型炮台改造成B型炮台,也可以把任意多的B型炮台改造成A型炮台。
你可以告诉他能否通过这些改造实现他的目标吗?
输入格式
第一行一个正整数 ,表示数据组数。
每组数据第一行有两个正整数
接下来 行,每行一个长度为 的字符串,表示棋盘。
输出格式
对于每组数据,若无解则输出一行 IMPOSSIBLE
,
否则输出一行 POSSIBLE
,再输出改造后的棋盘。
如果有多组解,输出任意一个即可。
3
1 3
-.-
3 4
#.##
#--#
####
4 3
.|.
-//
.-.
#\/
IMPOSSIBLE
POSSIBLE
#.##
#||#
####
POSSIBLE
.-.
|//
.-.
#\/
提示
数据范围:
对于的数据:
Special Judge provided by @tiger2005.