#HXOJ3923. 图与广度优先题七:图上漫步

提交4 通过1
通过率25%
时间限制1000ms
内存限制512MiB

题目描述

题目描述

“图上漫步”在一个带自环的无向完全图上进行。每条边(包括自环)都有一个颜色。开始时三颗棋子分别位于给定顶点。

每一步只能移动一颗棋子,并可沿任意一条边从当前点移动到新点。设本次移动的是第一颗棋子,另外两颗棋子所在顶点为 b,cb,c,那么只有当“第一颗棋子本次经过的边”的颜色与“顶点 b,cb,c 之间的边”的颜色相同,移动才合法;移动第二颗或第三颗棋子时规则相同。

请用最少步数把三颗棋子移动到同一个顶点。

输入格式

输入包含多组数据。每组数据第一行输入 nn;当 n=0n=0 时输入结束。

随后输入三个整数 p1,p2,p3p_1,p_2,p_3,表示三颗棋子的初始位置。接下来输入一个 n×nn\times n 的字符矩阵,第 ii 行第 jj 个字符表示顶点 i,ji,j 之间边的颜色。矩阵对称,字符之间可以有空格。

输出格式

每组数据输出一行。若能让三颗棋子相遇,输出最少步数;否则输出 impossible

数据范围与约定

1n501\le n\le50;图为带自环的无向完全图,颜色用字母表示。

可见测试数据

输入数据 1

4
4 1 1
r b g r
b r b g
g b b g
r g g b
0

输出数据 1

1

输入数据 2

1
1 1 1
r
1
1 1 1
b
0

输出数据 2

0
0

输入数据 3

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

3