小塔正值班,突然发现他所在的屋子进水了,水面一直上涨,考虑到可能有电器暴露在水中,小塔想通过尚未被水淹没的箱子达到电源处,关闭电源。假设电源和小明所处的位置都比较安全,不会被水淹没。已知屋子为矩形,可划分为大小相当的小方格,小塔的位置,电源,箱子都正好在小方格的正中间,覆盖整个方格;小塔每单位时间可以从一个小方格移动到相邻的处在同一行或者同一列的另一小方格。为了安全小塔只能移动到没有被上涨的水面淹没的小方格,箱子的高度不一,所在方格被水淹没的时间取决于方格内箱子的高度
水面每单位时间上涨1,如果此时箱子的高度小于或者等于水面的高度,则被淹没。
请帮小塔设计一条路线到达电源处,如果没有这样的路线,则小塔应该待在原地。
在这个问题中,小塔发现他的房间里进水了,水位不断上涨。他需要通过一些没有被水淹没的箱子移动,以安全地到达电源处。每个小方格的水位上升与箱子的高度有关,只有当水位低于箱子高度时,小塔才能通过该格。输入给出初始水深、房间的格局以及小塔和电源的位置,输出则是小塔从起点到电源的路径长度和每一步的位置坐标。如果无法到达电源,小塔则留在原地。通过这个问题,我们可以帮助小塔设计一条安全的路线,以确保他能顺利关闭电源。
考虑记录状态:(x,y,step) 代表在位置x,y并且已经走了step步状态下是否合法。
fa[x][y][step] 记录这个状态下的上一步是哪里来的。