翻转游戏是在一个长方形4*4的场地上玩的,双面棋放在每个16个正方形中,每一块的一面是白色,另一块是黑色,每一块都躺在上面,要么是白色要么是黑色,每一轮你要翻转3到五个棋子,这样就可以改变它们的颜色,从黑色变为白色,反之亦然,每轮选出要翻转的棋子,规则如下:
1.从16件中选一个
2.翻转选中的部分以及所有相邻的部分,位于选中这的上下左右(如果有的话)
以以下位置为例
bwbw
wwww
bbwb
bwwb
这里的b表示黑色的一面朝上,w表示白色的一面朝上,如果你选择翻转第三排的第一块,(这个选择如图所示),然后这盘棋就会变成
bwbw
bwww
wwwb
wwwb
游戏的目的是将所有棋子白色面朝上或黑色面朝上,你要写一个程序去找出实现这个情况的最小轮数。
输入四行字符,每一行包括四个字符w或b,表示游戏场的位置。
向输出行写入一个整数,从给定位置实现游戏目标所需的最小轮数,如果目标最初是实现的,那么写0,如果不能实现,写"Impossible"(没有引号)