当前位置: 首页 > news >正文

网站建设找酷风如何建一个自己的网站

网站建设找酷风,如何建一个自己的网站,武汉集团网站建设,软件开发软件定制给定一个 nmnm 的二维整数数组,用来表示一个迷宫,数组中只包含 00 或 11,其中 00 表示可以走的路,11 表示不可通过的墙壁。 最初,有一个人位于左上角 (1,1)(1,1) 处,已知该人每次可以向上、下、左、右任意…

给定一个 n×mn×m 的二维整数数组,用来表示一个迷宫,数组中只包含 00 或 11,其中 00 表示可以走的路,11 表示不可通过的墙壁。

最初,有一个人位于左上角 (1,1)(1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。

请问,该人从左上角移动至右下角 (n,m)(n,m) 处,至少需要移动多少次。

数据保证 (1,1)(1,1) 处和 (n,m)(n,m) 处的数字为 00,且一定至少存在一条通路。

输入格式

第一行包含两个整数 nn 和 mm。

接下来 nn 行,每行包含 mm 个整数(00 或 11),表示完整的二维数组迷宫。

输出格式

输出一个整数,表示从左上角移动至右下角的最少移动次数。

数据范围

1≤n,m≤1001≤n,m≤100

输入样例:
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
输出样例:
8

思路

1.宽度优先搜索:和深度优先搜索有区别,深度优先搜索是选择一条路径走到尽头,然后再回溯,宽度优先搜索是类似于一圈一圈往外寻找可能的路径,然后寻找到一条最短路径

2.这道题目结合队列来进行代码实现:只要队列里面有元素,就一直循环,用四个向量表示四个方向,先把第一个元素(也就是起点)初始化为可以通过的点,把距离初始化为0,走迷宫相当于每一次走一个单位,每一次走的权重都是相同的。根据题意,地图里面是0可以通过,是1就不可以通过,距离的二维数组在最开始的时候就被初始化为了-1,每一个坐标都是-1,只要某一次使用了那个坐标,那个坐标所对应的距离就不再是-1,就不可以再被使用了,这样子就可以保证我们寻找到的是最短路径,只要有一条路径走到了终点,终点坐标对应的距离就不再是-1,不能被使用,也就是说其他路径永远走不到终点

3.我们最后返回终点到起点的距离即可

代码

#include<iostream>
#include<cstring>
#include<queue>
#include<algorithm>
using namespace std;const int N=110;
typedef pair<int,int> PII;
int n,m;
int g[N][N],d[N][N];int bfs()
{queue<PII> q;memset(d,-1,sizeof d);d[0][0]=0;q.push({0,0});while(q.size()){auto t=q.front();q.pop();int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};for(int i=0;i<4;i++){int x=t.first+dx[i],y=t.second+dy[i];if(x>=0&&x<n&&y>=0&&y<m&&g[x][y]==0&&d[x][y]==-1){d[x][y]=d[t.first][t.second]+1;q.push({x,y});}}}return d[n-1][m-1];
}int main()
{scanf("%d%d",&n,&m);for(int i=0;i<n;i++)for(int j=0;j<m;j++)scanf("%d",&g[i][j]);printf("%d\n",bfs());return 0;
}

 

http://www.mmbaike.com/news/50164.html

相关文章:

  • m导航网站如何做淘宝客免费产品推广软件
  • 独立站搭建平台网店代运营和推广销售
  • 网站首页滚动图片营销型网站制作
  • 网站建设方案案例大数据精准客户
  • 企业建站做网站青岛seo排名公司
  • 邢台专业做网站哪家好seo上海公司
  • 网站建设公司都会有哪些花销中国纪检监察报
  • 中宣部官方网站周建设软件培训班学费多少
  • vps被攻击网站打不开ping值高google推广费用
  • 网站报价表对比表怎么做长春网站建设团队
  • 温州市鹿城区建设小学网站青岛关键词优化平台
  • 建设工程招标公告在哪个网站新产品上市推广策划方案
  • 企业网站的web应用环境通常有几种组合google官网登录
  • 电子网站搜索引擎怎么做俄罗斯搜索引擎浏览器
  • 四川省第十五公司官网网站关键词优化怎么弄
  • 做网站的大创结项购买一个网站域名需要多少钱
  • 珠海网站制作费用电脑培训学校课程
  • 淮安做网站app免费网络推广网站
  • 婚庆网站设计百度网盘手机app下载安装
  • 一般用什么做网站首页枸橼酸西地那非片是什么
  • 湖州百度网站建设教育培训网页设计
  • 可以做ppt的网站或软件腾讯朋友圈广告投放价格
  • 牡丹江做网站厦门seo网站推广
  • 香港公司网站内地主机互联网搜索引擎有哪些
  • 网站改版服务宁波怎么优化seo关键词
  • 成都定制app开发seo工资一般多少
  • 阿里云心选建站国内重大新闻10条
  • 乐山做美食推荐的网站百度指数官网数据
  • 做的好的网站欣赏在线一键生成网页
  • 西安城乡建设委员会网站打不开深圳疫情最新消息