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

b2b电子商务网站建设2022年关键词排名

b2b电子商务网站建设,2022年关键词排名,3g门户网站,厦门网站建设哪家专业题目链接: 2.走迷宫 - 蓝桥云课https://www.lanqiao.cn/problems/1216/learning/?problem_list_id30&page1 题目描述: 给定一个 NM的网格迷宫 G。G 的每个格子要么是道路,要么是障碍物(道路用 1 表示,障碍物用 …

题目链接:

2.走迷宫 - 蓝桥云课https://www.lanqiao.cn/problems/1216/learning/?problem_list_id=30&page=1

题目描述:

        给定一个 N×M的网格迷宫 G。G 的每个格子要么是道路,要么是障碍物(道路用 1 表示,障碍物用 0 表示)。已知迷宫的入口位置为 (x1,y1),出口位置为 (x2,y2)。问从入口走到出口,最少要走多少个格子。

输入描述:

       输入第 1 行包含两个正整数 N,M,分别表示迷宫的大小。接下来输入一个 N×M 的矩阵。若 Gi,j=1表示其为道路,否则表示其为障碍物。最后一行输入四个整数 x1,y1,x2,y2,表示入口的位置和出口的位置。1≤N,M≤10^2,0≤Gi,j≤1,1≤x1,x2≤N,1≤y1,y2≤M。

输出描述:

        输出仅一行,包含一个整数表示答案。若无法从入口到出口,则输出 −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

解题思路:

        bfs:先设置两个二维数组map和mark,分别表示该点能不能通过和是否已经被访问,并将mark使用memeset函数初始化为-1。将入口加入到队列中,并使用dx和dy依次访问每个队头原酸的周围4个点,如果未被访问并且可以被访问则将其加入到队列中,并将该元素的距离设置为起上一个元素的距离+1,当访问完周围四个点之后,将该元素退出队列,依次类推就可以将所有元素按照顺序依次被访问,并得到所有元素的据入口的距离。

代码:

#include <iostream>
#include<cstring>
#include<queue>
#define MAX 101
using namespace std;int map[MAX][MAX];    //用于记录坐标是否课通过
int mark[MAX][MAX];    //用于记录坐标是否被访问过
typedef pair<int, int> PII;     //定义坐标数据变量
queue <PII>q;     //队列
int dx[] = { -1,0,1,0 };   //x方向上的变量
int dy[] = { 0,-1,0,1 };   //y方向上的变量//广度优先遍历算法
int bfs(int N, int M, int x1, int y1, int x2, int y2) 
{memset(mark, -1, sizeof(mark));    //对数组进行初始化mark[x1 - 1][y1 - 1] = 0;    //访问入口q.push({ x1 - 1, y1 - 1 });    //将入口放入队列中while (!q.empty())   //访问所有的可访问点{PII top = q.front();for (int i = 0;i < 4;i++){//遍历队列第一个节点的上下左右四个节点int nex = top.first + dx[i];int ney = top.second + dy[i];if ((nex >= 0 && nex < N) && (ney >= 0 && ney < M) && (map[nex][ney] == 1) && (mark[nex][ney] == -1)) {mark[nex][ney] = mark[top.first][top.second] + 1;    //距离起点的长度+1q.push({ nex,ney });     //将新节点加入队列中}}q.pop();    //将队列第一个节点读取完毕后删除//cout << "aaa" << endl;}//查看mark值//for (int i = 0;i < N;i++)//{//	for (int j = 0;j < M;j++)//	{//		cout<<mark[i][j]<<" ";//	}//	cout << endl;//}return mark[x2 - 1][y2 - 1];    //返回终点的标记值
}int main()
{// 请在此输入您的代码//输入int N, M;cin >> N >> M;for (int i = 0;i < N;i++){for (int j = 0;j < M;j++){cin >> map[i][j];}}int x1, y1, x2, y2;cin >> x1 >> y1 >> x2 >> y2;cout << bfs(N, M, x1, y1, x2, y2) << endl;;return 0;
}

 

参考思路:第十三章 DFS与BFS(保姆级教学!!超级详细的图示!!)_dfs bfs-CSDN博客  

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

相关文章:

  • wap娃派手机信息网南宁seo优化公司排名
  • 洛阳网站建设网站建设中国大数据平台官网
  • 天津企业网站建设哪家好搜索引擎优化心得体会
  • 网站代发怎么做东莞有限公司seo
  • 网页设计制作分段brseo优化排名价格
  • 河南做网站公司哪家好搜索引擎优化的定义是什么
  • 舟山的房子做民宿上什么网站seo顾问张智伟
  • 黑龙江大庆疫情最新情况长沙seo培训班
  • 各国网站建设排名百度云网页版登录入口
  • 电子商务网站建设课设学生体会关键词搜索量怎么查
  • 网站增加新闻功能怎么自己开发网站
  • b2c购物网站建设哪个平台推广效果好
  • 潮州网站seo百度网页推广费用
  • 企业自助网站建设影视网站怎么优化关键词排名
  • 外资做网站的公司百度竞价广告
  • 山东网站建设流程拓客软件哪个好用
  • 建设小说网站违法吗最新足球消息
  • 网站建设与优化标准百度一下你就知道下载安装
  • wordpress如何添加自定义元素关键词优化公司费用多少
  • 优秀vi设计案例分析pptseo技术306
  • wordpress the7 seoseo优化网站百度技术
  • 自己做网站要买服务器吗苏州关键词搜索排名
  • 委托做的网站版权归属深圳华强北最新消息
  • m开头的可以做网站的软件nba排名最新排名
  • 工作室 网站经营性备案精准信息300099
  • 做网站跟赚钱嘛seo简单优化
  • 网站分享设计网站seo资讯
  • 建设银行信用卡官方网站无货源电商怎么做
  • 网站使用说明书模板广东今日最新疫情通报
  • 物流好的网站模板整站优化 mail