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

青岛做门户网站的有哪些百度排名优化专家

青岛做门户网站的有哪些,百度排名优化专家,网站代理服务器设置,校园网站的建设审题: 本题需要我们寻找迷宫中的所有出口,若有出口需要输出距离最近的出口的距离,若没有就输出-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/103552.html

相关文章:

  • 安徽省建设厅官方网站进不去百度搜索引擎网站
  • 网站怎么增加流量郑州网络营销公司排名
  • 怎么做乞讨网站创建自己的网页
  • 专业建筑公司网站大连企业黄页电话
  • wordpress如何做导航网站seo索引擎优化
  • 做房地产资质是什么网站查软文代写发布
  • wordpress更换域名所有页面404互联网广告优化
  • 网站建设管理成本估计百度店面定位怎么申请
  • 网站建设公司发展前景深圳百度推广代理商
  • 用层还是表格做网站快中国最新领导班子
  • dw怎么把网站做的漂亮百度推广点击收费标准
  • 中国建设银行网站个人网络运营
  • 网站使用标题做路径厦门seo推广外包
  • 建设一个私人视频网站网站关键词查询
  • 舆情网站网址淘宝美工培训推荐
  • wordpress 搬家 插件搜索排名优化公司
  • 中国工程建设招标网官方网站google推广方式和手段有哪些
  • asp.net网站建设广东知名seo推广多少钱
  • 学做网站需要多长时间苏州seo关键词优化外包
  • php做的网站如何发布网络营销服务
  • 网站建设设武汉百度推广多少钱
  • 怎么做直播网站的超管短视频排名seo
  • 青岛网站如何制作百度收录的网页数量
  • 图片网站建设备案域名交易平台
  • 在哪里推广网站舆情监控系统
  • wordpress主页js不执行seo软件简单易排名稳定
  • 自适应网站模板关键字
  • 怎么制作一个最简单的网站百度seo引流
  • wordpress rewrite插件seo外链推广平台
  • 上传wordpress网站百度营销推广登录平台