#M260921C. 迷宫移动(maze)
迷宫移动(maze)
题目描述
小Z手上有一个大小为 的迷宫,迷宫的每一个格子都包含 三种字母中的一个。
同时他手上还有一个长度为 的字符串 ,也是由 三种字母组成。
小Z 每次可以选中上下左右其中一个方向,并移动 步 ,要求移动到的格子中的字母必须等于 。每次移动之后,字符串要进行循环左移操作:
询问对于网格图中的每一个格子,按照以上要求移动到右下角 的最少移动次数是多少。如果无法到达,输出 -1
输入格式
第一行,两个正整数 ,表示网格图的大小
第二行,一个长度为 的字符串
接下来 行,每行为长度为 的仅由 组成的字符串
输出格式
行,每行 个数字,第 行,第 列的数字表示该位置到达终点 的最少移动次数,不可能的话输出 -1。
输入输出样例
3 4
abc
aabc
acaa
babc
2 -1 3 5
-1 2 5 3
1 -1 2 0
样例 说明
从方格 出发,当前 ;
向右移动 格到达 ,当前方格为 c,,移动完成后 变为 bca;
向下移动 格到达 ,当前方格为 ,移动完成后 变为 cab。
从方格 出发,当前 ;
向左移动 格到达 ,当前方格为 ,,移动完成后 变为 bca;
向下移动 格到达 ,当前方格为 ,,移动完成后 变为 cab;
向右移动 格到达 ,当前方格为 ,,移动完成后 变为 abc。
1 9
aaa
aaaaaaaaa
3 3 2 2 2 1 1 1 0
7 4
aab
bbcb
ccba
cbbc
bbca
acbb
cacb
bcbb
4 -1 -1 -1
-1 -1 3 2
5 -1 -1 3
3 3 3 1
2 3 4 3
3 7 3 3
1 3 -1 0
数据范围
另外 并且所有格子都为
相关
在下列比赛中: