地面被划分为 个网格,每个网格有以下 种性质:
你站在地面的 处,想要获得 处的宝藏,则需要通过若干网格。
假设你现在位于 处,性质为 ,则你的移动必须满足如下两个条件:
特殊的是,如果当前你所站在的格子的性质是双性质,则你可以向任意相邻位置移动。
判断你是否可以获得宝藏。如果可以,输出最小移动的格子数。
第一行两个正整数 表示地面被网格划分的次数。
接下来 行,每行 个用空格分隔的字符表示地面。
一行一个整数表示答案。如果无法到达,输出 ,否则输出最小移动的格子数。
3 3 A B D A D B B D B
5
以 的顺序移动。
3 3 B B A A A B D A B
-1
无论怎么走都无法到达 处。
对于 的输入,保证 。