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

梅州疫情最新消息如何优化关键词排名快速首页

梅州疫情最新消息,如何优化关键词排名快速首页,网站备案好不好,郑州专业手机网站制作题目描述 给定一个NM 的网格迷宫 G。G 的每个格子要么是道路,要么是障碍物(道路用 11表示,障碍物用 0 表示)。 已知迷宫的入口位置为 (x1​,y1​),出口位置为 (x2​,y2​)。问从入口走到出口,最少要走多少…

题目描述

给定一个N×M 的网格迷宫 G。G 的每个格子要么是道路,要么是障碍物(道路用 11表示,障碍物用 0 表示)。

已知迷宫的入口位置为 (x1​,y1​),出口位置为 (x2​,y2​)。问从入口走到出口,最少要走多少个格子。

输入描述

输入第 11 行包含两个正整数 N,M,分别表示迷宫的大小。

接下来输入一个 𝑁×𝑀N×M 的矩阵。若 Gi,j​=1 表示其为道路,否则表示其为障碍物。

最后一行输入四个整数 𝑥1,𝑦1,𝑥2,𝑦2表示入口的位置和出口的位置。

1≤N,M≤102,0≤Gi,j​≤1,1≤x1​,x2​≤N,1≤y1​,y2​≤M。

输出描述

输出仅一行,包含一个整数表示答案。

若无法从入口到出口,则输出 −1;

输入输出样例

示例 1

输入

5 5 
1 0 1 1 0
1 1 0 1 1 
0 1 0 1 1
1 1 1 1 1
1 0 0 0 1
1 1 5 5 

输出

8

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码为:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#define  x first
#define  y second
using namespace std;
typedef pair<int,int> PII;
const int N=1e2+10;
int n,m;
int x2,y2;//出口的位置
int g[N][N];//存储地图
int dist[N][N];//每个点到起点的距离 
queue<PII> q;//存坐标
int dx[4]={-1,1,0,0};
int dy[4]={0,0,-1,1};int bfs(int x1,int y1)
{memset(dist,-1,sizeof dist);//初始都为-1q.push({x1,y1});dist[x1][y1]=0;while(!q.empty()){auto Top=q.front();//取出对头q.pop();//弹出对头for(int i=0;i<4;i++){int a=Top.x+dx[i];int b=Top.y+dy[i];//入口的位置的下一个位置if(a<0||a>n||b<0||b>m) continue;//越界if(g[a][b]!=1) continue;//不是道路if(dist[a][b]>1) continue;q.push({a,b});dist[a][b]=dist[Top.x][Top.y]+1;if(a==x2&&b==y2) return dist[x2][y2];}}return -1;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);int x1,y1;//入口的位置cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)cin>>g[i][j];}cin>>x1>>y1>>x2>>y2;int res=bfs(x1,y1);cout<<res<<'\n';return 0;
}

优化后的代码(运行时间1ms):

#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#define  x first
#define  y second
using namespace std;
typedef pair<int,int> PII;
const int N=1e2+10;
int n,m;
int x2,y2;//出口的位置
int g[N][N];//存储地图
int dist[N][N];//每个点到起点的距离 
queue<PII> q;//存坐标
int dx[4]={-1,1,0,0};
int dy[4]={0,0,-1,1};int bfs(int x1,int y1)
{memset(dist,-1,sizeof dist);//初始都为-1q.push({x1,y1});dist[x1][y1]=0;while(!q.empty()){auto Top=q.front();//取出对头q.pop();//弹出对头for(int i=0;i<4;i++){int a=Top.x+dx[i];int b=Top.y+dy[i];//入口的位置的下一个位置if(a<0||a>n||b<0||b>m) continue;//越界if(g[a][b]!=1) continue;//不是道路if(dist[a][b]>1) continue;q.push({a,b});dist[a][b]=dist[Top.x][Top.y]+1;if(a==x2&&b==y2) return dist[a][b];}}return -1;
}int main()
{ios::sync_with_stdio(false);cin.tie(0);int x1,y1;//入口的位置cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)cin>>g[i][j];}cin>>x1>>y1>>x2>>y2;int res=bfs(x1,y1);cout<<res<<'\n';return 0;
}

http://www.dtcms.com/wzjs/56869.html

相关文章:

  • 营销策划有限公司经营范围西安seo网站管理
  • 安徽安搜做的网站怎么样线上培训机构排名前十
  • 网站做接口到app 价格长沙网络营销哪家平台专业
  • 手机网站页面范例百度资源
  • 临沂哪里有做网站产品推广图片
  • 网站建设毕业设计报告书网站建设在线建站
  • 网站用户管理体系河南网站建设优化技术
  • 百度竞价排名一年费用seo网络推广怎么做
  • 在电脑上做二建题 哪个网站好制作网站首页
  • 网帆-网站建设官方店最新的新闻 今天
  • 北京工商登记服务平台seo海外
  • 阳狮做网站网站alexa排名查询
  • 荥阳做网站推广网站权重查询接口
  • 《网站设计与建设》电子书百度打广告怎么收费
  • 长安外贸网站建设公司最新seo操作
  • 设计工作室网站推荐查淘宝关键词排名软件
  • 电子商务网站建设与管理的总结雅诗兰黛网络营销策划书
  • wordpress 图片变形seo 服务
  • 南昌网站优化seo 优化一般包括哪些内容
  • 以前做的网站怎么才能登陆后台如何搭建一个网站
  • 做教程网站资源放哪里南宁优化网站收费
  • 专业网站设计第三方服务南京seo
  • 苏省住房和城乡建设厅网站网站建设哪家公司好
  • 买域名做网站跳转武汉seo网络优化公司
  • 网域高科学校网站管理系统漏洞互动营销平台
  • 做冷冻食品的网站搜索广告
  • 可以做简历的网站南宁seo计费管理
  • 如何做网站发产品销售国际要闻
  • 建设电子元器件网站网络广告的特点
  • 做医院网站及微信公众号价格临沂seo整站优化厂家