C++迷宫问题求解(用队列实现)
19、迷宫问题求解(用队列实现)
【任务】以一个m*n的长方阵表示迷宫。0和1分别表示迷宫中的通路和障碍。解迷宫通常用的是“穷举求解”方法,即从入口出发、顺着某个方向进行探索、若能走通,则继续往前进;否则沿着原路退回,换一个方向继续探索,直至出口位置,求得一条通路。假如所有可能的通路都探索到而未能到达出口,则所设的迷宫没有通路。
【数据结构】可以二维数组存储迷宫数据,为处理方便起见可在迷宫的四周加一圈障碍。对于迷宫中任一位置、均可约定有东、南、西、北四个方向可通。
以链表作数据结构的队列类型,求得的通路以三元组(i,j,d)的形式输出、其中。i, j ,指示迷宫中的一个坐标,d表示走到下一坐标的方向。
【功能要求】
1)输入迷宫,起点,终点;
2)显示迷宫;
3)求得迷宫中所有可能的通路;
4)以方阵形式输出迷宫及其通路。
源码传送门
传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
标签:通路,求解,队列,迷宫,C++,求得 From: https://www.cnblogs.com/codewriter/p/16651309.html