可以做音乐mv视频网站网上做广告宣传
可以做音乐mv视频网站,网上做广告宣传,橱柜衣柜做网站,wordpress一键排版迷宫问题
题目背景
定义一个二维数组#xff1a;
int maze[5][5] {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,
};题目描述
它表示一个迷宫#xff0c;其中的1表示墙壁#xff0c;0表示可以走的路#xff0c;只能横着走或竖着走#xf…迷宫问题
题目背景
定义一个二维数组
int maze[5][5] {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,
};题目描述
它表示一个迷宫其中的1表示墙壁0表示可以走的路只能横着走或竖着走不能斜着走要求编程序找出从左上角到右下角的最短路线。
输入格式
一个5 × 5的二维数组表示一个迷宫。数据保证有唯一解。
输出格式
左上角到右下角的最短路径格式如样例所示。
样例输入
0 1 0 0 0
0 1 0 1 0
0 0 0 0 0
0 1 1 1 0
0 0 0 1 0样例输出
(0, 0) (1, 0) (2, 0) (2, 1) (2, 2) (2, 3) (2, 4) (3, 4) (4, 4) 在样例输出中逗号后面有个空格emmm…鬼知道我找了多久bug #includeiostream
#includealgorithm
#includequeue
#includestack
using namespace std;int maze[5][5];//地图
bool visited[5][5];
int dx[4] {-1,0,1,0};
int dy[4] {0,1,0,-1};
pairint,int p[10][10];//用于存储每个点的前驱结点
stackpairint,int s;//存放正确路径void bfs()
{queuepairint,int q;q.push({0,0});visited[0][0] true;while(!q.empty()){int x q.front().first;int y q.front().second;q.pop();if(x 4 y 4){while(x 0 y 0){s.push({x,y});//将结点入栈pairint,int t p[x][y];x t.first;y t.second;}s.push({0,0});while(!s.empty()){cout ( s.top().first , s.top().second ) endl;s.pop();}}for(int i 0;i 4;i){int nx x dx[i];int ny y dy[i];if(nx 0 nx 4 ny 0 ny 4 maze[nx][ny] 0 !visited[nx][ny]){visited[nx][ny] true;q.push({nx,ny});p[nx][ny] {x,y};//点(nx,ny)的前驱结点为(x,y)}}}}int main()
{for(int i 0;i 5;i){for(int j 0;j 5;j){cin maze[i][j];}}bfs();return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86740.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!