其实这是一道很纯的 bfsbfsbfs ,但是由于维度加了一维,内存可能会相应的加大,但是没有关系,还是按原来的套路走就好了,我这里用的是纯手工队列,然后发现内存并没有爆,所以小伙伴们放心的开吧。现在回到正题,三维的 bfsbfsbfs 对于二维的来说,只是多了一个 zzz 坐标,所以我们在增加子节点的时候给他多搜索一个方向,如下:
然后就跟二维的套路一样,判断是否走过和是否越界,都没有的话就入队,如下:
fff 数组在这里用来统计步数。然后再判断是否到达,如下:
如果一直没有找到,队首就会追上队尾,然后就结束循环,在最后再输出无法到达。
全部代码如下:
还有一点要注意,那就是输入这个地牢的时候坐标特别容易弄错,大家三思而后行啊!