weixin_57256158 2021-06-21 16:33 采纳率: 0%
浏览 90

有没有会这道题的呀,孩子不会啊

 

  • 写回答

1条回答 默认 最新

  • 又三郎丶 2023-06-29 09:27
    关注

    这是一个比较常见的DFS迷宫问题变体
    你可以参考这篇文章https://blog.csdn.net/xuechanba/article/details/120742524
    你在设计迷宫的时候可以多设计一个地雷类别,将maze二维数组里面多添加一个类别,如2(0表示空地,1表示障碍物,2表示地雷),在后面的判断中添加一个判断,当map[line][col]==2时重新回到起点或者直接退出。
    题目要求八个方向,你需要把direct数组变成八个方位,如:

        direct[0].incX = 0; direct[0].incY = 1;direct[0].incZ = 1;//右上
        direct[1].incX = 0; direct[1].incY = 0;direct[1].incZ = 0;//右
        direct[2].incX = 0; direct[2].incY = 1;direct[2].incZ = -1;//右下
        direct[3].incX = 0; direct[3].incY = 0;direct[3].incZ = -1;//下
        direct[4].incX = 1; direct[4].incY = 0;direct[4].incZ = -1;//左下
        direct[5].incX = 1; direct[5].incY = 0;direct[5].incZ = 0;//左
        direct[6].incX = 1; direct[6].incY = 0;direct[6].incZ = 1;//左上
        direct[7].incX = 0; direct[7].incY = 0;direct[7].incZ = 1;//上
    

    在后面行列判断那里都加上direct[di].incZ就可以了

    评论

报告相同问题?