题目描述
题目描述
“图上漫步”是一款在木板上进行的游戏,木板上有一个无向完全图,图中任意两个点之间都有一条直接相连的边,并且每个点都有一条自环边,因此 个点的图有共 条边。每条边都有特定的颜色。游戏中有三颗棋子,游戏开始时,每颗棋子分别放在给定的点上。玩家需要依次移动棋子,每次移动只要沿着无向图的边从当前点移到新的点。但是,只有当边的颜色与另外两颗棋子相连的边颜色一样时,棋子才能移动。

事实上,“图上漫步”也有单人版,在这种游戏中,一个人要移动三颗棋子,不需要依次移动,但每次只能移动一颗棋子,游戏的任务是:用最少的步数,将所有的棋子移动到同一个位置上。
请你根据图的布局及棋子的开始位置,计算出把所有的棋子移动到同一个位置上的最少步数。
输入格式
输入有多组数据。
对于每组数据,第一个数据是 。当 时表示输入结束。然后是三个整数 ,表示棋子的初始位置。
接下来 行为 的矩阵,表示每条边的颜色,都是字母(字母之间用空格隔开)。
矩阵元素 表示点 和 之间的边的颜色。因为游戏图是无向的,你可以认为矩阵是对称的。
输出格式
对于每组数据,输出一行,表示把所有棋子移动到同一个位置上的最少步数,如果无法实现目标,输出 impossible。
样例 1
3 1 2 3
r b r
b b b
r b r
2 1 2 2
y g
g y
0
2
impossible
4
4 1 1
r b g r
b r b g
g b b g
r g g b
0
1
1
1 1 1
r
1
1 1 1
b
0
0
0
6
6 6 3
r g r b b b
g r r g r b
r r r r r g
b g r g r g
b r r r b b
b b g g b r
0
3
数据范围与约定
对于 的数据,。
()