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

网站建设 尚品中国最近的电脑培训班在哪里

网站建设 尚品中国,最近的电脑培训班在哪里,wordpress优缺点,广西模板十大名牌排名榜审题: 本题需要我们寻找迷宫中的所有出口,若有出口需要输出距离最近的出口的距离,若没有就输出-1 时间复杂度:由于边距为1,我们本题采用bfs算法,在最坏的情况下我们需要遍历所有位置,时间复杂度…

审题:
本题需要我们寻找迷宫中的所有出口,若有出口需要输出距离最近的出口的距离,若没有就输出-1

时间复杂度:由于边距为1,我们本题采用bfs算法,在最坏的情况下我们需要遍历所有位置,时间复杂度为nm,而进入队列的最多也是nm,所以总体时间复杂度为nm

思路:

方法一:bfs

首先我们需要分析遍历过程:

由于不可以原路返回,所以创建一个距离数组去记录到该位置走的步数,而若没走也可以看出来,并创建一个distance去给值给到距离数组(每进入更深一层就++)

然后我们还需要记录出口的个数,所以创建一个count负责记录。

解题:

#include<iostream>
#include<queue>
#include<vector>
using namespace std;
typedef pair<int,int> PII;//队列存储的数据类型
int n,m;

由于队列存储的数据是坐标,所以这里需要重命名一个pair<int,int>方便书写

(1)初始化

//录入数据cin >> n >> m;vector<vector<char>> vv(n,vector<char>(m,'.'));//这里其实初始化为什么都可以vector<vector<int>> step(n,vector<int>(m,-1));//记录k到该位置的步数PII start;for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){cin >> vv[i][j]; if(vv[i][j] == 'k') start = {i,j};//记录起点坐标}}step[start.first][start.second] = 0;//初始化起点距离值//创建队列queue<PII> q;q.push(start);//建立方向数组vector<vector<int>> d = {{1,0},{-1,0},{0,-1},{0,1}};

step数组主要是用于判断该路是否走过。

(2)入队与搜索

  //bfsint count = 0;//出口数int distance = 1;//距离int mindistance = 1e3;//最短距离while(!q.empty()){int size = q.size();//防止后续进队列的数据影响循环逻辑for(int i = 0; i < size; i++){PII  s = q.front();q.pop();for(auto& e : d){int newx = s.first + e[0];int newy = s.second + e[1];if(newx>=0&&newx<n&&newy>=0&&newy<m&&vv[newx][newy]!='*'&&step[newx][newy]==-1){if(vv[newx][newy] == '.')//没到出口{step[newx][newy] = distance;q.push({newx,newy});}else//到达出口{step[newx][newy] = distance;mindistance = min(mindistance,distance);count++;}}}}distance++;}

当我们遍历到路或者出口,且路径没有被走过,我们就可以走这一步。

若为普通道路:更新距离数组,插入该道路坐标进队列,准备下一轮走

若为出口:更新距离数组,并维护mindistance(因为输出需要距离出口的最短距离),并让出口数++

一层走完表示这一步走完了,让distance++,表示进入下一步

(3)输出结果

    //输出数据if(count != 0) {cout << count << " " << mindistance;}else{cout << -1;}

若有出口(count不为0),输出出口数和最短距离

否则输出-1

kotori和迷宫

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

相关文章:

  • 成都网站建设公司有哪些seo基础培训
  • 一个营业执照可以做几个网站精准客源引流平台
  • 宁波网站建设模板制作百度优化是什么意思
  • 萝岗区营销型网站建设文登seo排名
  • 南京做网站营销东莞seo建站公司哪家好
  • 免费代理做企业网站seo优化服务是什么
  • 网站被k如何恢复百度竞价产品
  • 学做网站的笔记本北京seo网络推广
  • 网站还在建设中网络营销整合推广
  • 深圳福田疫情合肥网站建设优化
  • 18款禁用黄app入口直接看宁波seo网络推广渠道介绍
  • 徐州专业网站制作公司那个推广平台好用
  • 哪些网站可以找到做海报的素材怎么登录百度app
  • 济南网络公司建站网站的seo 如何优化
  • html5 网站建设广告电话
  • 胜利油田局域网主页入口独立站seo
  • 深圳开发公司网站全面网络推广营销策划
  • 怎么做网站开发的方案网站推广的方法有哪些?
  • 做农产品网站需要办什么证长沙seo优化推广公司
  • 沈阳做网站优化免费推广网站大全下载安装
  • 个人与企业签订网站开发合同抖音推广方式有哪些
  • 网站开发承诺函360推广助手
  • 做网站图标按钮素材核心关键词和长尾关键词举例
  • 美食网站html模板app推广拉新工作可靠吗
  • 做爰片免费网站给我看看营销策略国内外文献综述
  • wordpress nginx配置伪静态seo标题优化步骤
  • 门户网站制作哪专业电商seo优化
  • 百姓网站外推广怎么做山东服务好的seo
  • 南昌做网站多少钱网站seo课设
  • 鹿寨县住房和城乡建设局网站贵港seo