标题"知识的迷宫 标题〃有什么妙处

没有客户端扫码马上安装

第二期(下) 迷宫 标题行者盲解"世纪难题" 150109 <最强大脑>欲诞生首位满分挑战者

}

没有客户端扫码马上安装

第二期(下) 迷宫 标题行者盲解"世纪难题" 150109 <最强大脑>欲诞生首位满分挑战者

}

版权声明:本文为博主原创文章未经博主允许不得转载。 /acm_JL/article/details/

小鼠a与小鼠b身处一个m×n的迷宫 标题中如图所示。每一个方格表示迷宫 标题中的一个房间这m×n个房间中有一些房间是封闭的,不允许任何人进入在迷宫 标题中任何位置均可沿上,下左,右4个方向进入未封闭的房间小鼠a位于迷宫 标题的(p,q)方格中它必须找出一条通向小鼠b所在的(r,s)方格的路请帮助小鼠a找出所有通向小鼠b的最短道路。

对于给定的小鼠的迷宫 标题编程计算小鼠a通向小鼠b的所有最短道路。

本题有多组输入数据你必须处理到EOF为止。
每组数据的第一行有3个正整数nm,k分别表示迷宫 标题的行数,列数和封闭的房间数接下来的k行中,每行2个正整数表示被封闭的房间所在的行号和列号。最后的2行每行也有2个正整数,分别表示小鼠a所处的方格(pq)和小鼠b所处的方格(r,s)(1≤p,r≤n; 1≤q,s≤m)

对于每组数据,将计算出的小鼠a通向小鼠b的最短路长度和有多少条不同的最短路输出每組数据输出两行,第一行是最短路长度;第2行是不同的最短路数每组输出之间没有空行。
如果小鼠a无法通向小鼠b则输出“No Solution!”

分析:利鼡bfs可以计算出最短路径的距离len(即移动次数),然后用dfs计算出等于len(移动次数)时有多少种不同的最短路径

//往队列插入迷宫 标题的入口唑标 flag=0;//用来标记是否到达目的地,0表示没有 //枚举四个方向(注意方向数组的设置和for循环的遍历通用模板) //判断是否是障碍物或者已经在路径中 //紦这个点标记为已经走过 //注意宽带搜索每个点只能入队列一次 ,和dfs不同所以book的值不需要恢复为0; //插入新的点到队列中 //如果到了目的地,停止扩展任务结束,退出循环 //打印队列中末尾最后一个点的步数 //注意tail是指向队尾的下一个位置所以需要-1 //未到达位置向四个方向走 //判断該点是否是障碍物或者已经在路径中 ans=bfs();//求得最少步数 ,调用bfs后book数组的标记不是初始化为0了对dfs的影响很大,故应在调用bfs之前将book恢复初始化
}

我要回帖

更多关于 迷宫 标题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信