样例输入:
4 4
#S..
E#..
#...
....
样例输出:
4
说明
一种可行的路径是用对称飞行器到达(4,3)再向上走一步,再向右走一步,然后后使用一次对称飞行器到达终点。
思路:
本题是传统BFS迷宫最短路径问题的变形,多了一个移动方式——对称传送,而且这种方式是有次数限制的。我们创建一个Point类,有x,y和jump三个属性,x,y描述点的位置,jump描述点剩余的对称传送次数。有条件的使用对称传送即可。
参考答案(Python):
"""
@author: wangquaxiu
@time: 2020/4/22 17:25
"""
import queue
MAX_VALUE = 0x7fffffff
class Point:
def __init__(self,x = 0,y = 0,jump