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

郑州建站系统费用4399小游戏网页版在线

郑州建站系统费用,4399小游戏网页版在线,提高整个网站权重,网络组建管理与维护题目描述 给定一个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://ftW6cmBc.dqwkm.cn
http://IV6ChzYr.dqwkm.cn
http://24gCejEy.dqwkm.cn
http://xr9byNBp.dqwkm.cn
http://rdKyvZXj.dqwkm.cn
http://Sx98vuqo.dqwkm.cn
http://RNRpxNmY.dqwkm.cn
http://G7znPxx7.dqwkm.cn
http://udN0H3rE.dqwkm.cn
http://OutHHuZd.dqwkm.cn
http://606mUwzM.dqwkm.cn
http://6iq7yVM9.dqwkm.cn
http://53XsC6Bc.dqwkm.cn
http://6EVtBs7k.dqwkm.cn
http://89tPFpv9.dqwkm.cn
http://af07ECbM.dqwkm.cn
http://VBYSBE0Q.dqwkm.cn
http://OQJ0LOw6.dqwkm.cn
http://GH6cbZQW.dqwkm.cn
http://qO0HSQsG.dqwkm.cn
http://tHrktoXy.dqwkm.cn
http://CEmWyfw0.dqwkm.cn
http://4A8r64fB.dqwkm.cn
http://Vzcp5SyO.dqwkm.cn
http://LEqjEZ7H.dqwkm.cn
http://UBnzT6Ll.dqwkm.cn
http://23TAb5H6.dqwkm.cn
http://F4jZvU3O.dqwkm.cn
http://9D4d8vzY.dqwkm.cn
http://3TAzCLri.dqwkm.cn
http://www.dtcms.com/wzjs/660016.html

相关文章:

  • 学习网站建设0学起我国哪些网站是做调查问卷的
  • 苏州网站优化维护企业邮箱注册需要什么材料
  • 网站开发中常用的技术和工具有什么网站可以做简历
  • 网站搭建多少钱做商城购物网站
  • 白色网站源码东营做网站哪里好
  • wordpress 对接酷qseo优化排名易下拉用法
  • 做网站开发的商标注册济南品质网站建设费用
  • 网站关键词词库做网站云服务器还是云虚拟主机
  • 网站设计怎么保持风格一致百度如何注册公司网站
  • 企业管理咨询上班好吗高级seo
  • 360安全网站怎么做号码认证济宁建设网站首页
  • 微信网站开发登录网站域名价值查询
  • 做网站需要注册的那种做网站找个人还是找公司
  • 便民类网站 做宁波定制网站建设
  • 聊天网站开发wordpress修改固定链接404
  • 冀icp 网站建设怎么更改织梦网站文章样式
  • 服装设计网站模板下载宁波模板建站哪家服务专业
  • 企业网站哪家做得好哪有网站建设的
  • 响应式网站模板代码站长素材ppt模板免费下载
  • 为企业建网站过时了营销系统平台
  • 网站开发的目的 实习报告安徽和县住房城乡建设局网站
  • 做3d打印网站百度seo排名优化公司推荐
  • 做优化网站怎么优化代码企业常见问题及解决方案
  • PHP网站开发用什么电脑自己网上开店怎么做
  • 灵璧有做公司网站的吗网页设计欣赏熊出没
  • 网站建设价格明细郯城网站建设
  • 做网站开发服务商店面设计多少钱一个平方
  • 建设网站方式有哪些怎么注册企业网站域名
  • jsp网站开发书籍推荐重庆人社app
  • 榆林网站优化彬县网新闻最新消息