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

石家庄网站app制作python免费教程视频

石家庄网站app制作,python免费教程视频,网站内外链建设,如何做展示型网站审题: 本题需要我们找出所有0距离最近的1的曼哈顿距离 思路: 方法一:多源bfs 分析曼哈顿距离: 求法1:公式法,带入题目公式,利用|x1-x2||y1-y2|求出 求法2:曼哈顿距离就是最短距离 本…

审题:

本题需要我们找出所有0距离最近的1的曼哈顿距离

思路:
方法一:多源bfs

分析曼哈顿距离:

求法1:公式法,带入题目公式,利用|x1-x2|+|y1-y2|求出

求法2:曼哈顿距离就是最短距离

本题有多个起源点,也就是1,我们可以把他们都加入到队列中,然后按照正常的bfs流程走。

若用单源的bfs走就是遍历每个0去搜索,不过会超时

解题:

(1)预处理

#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
int n,m;
const int N = 1010;
char vv[N][N];//记录字符
typedef pair<int,int> PII;
queue<PII> q;//记录待走坐标
int dis[N][N];//记录到该坐标最短距离
//方向数组
int dx[] = {0,0,1,-1};
int dy[] = {1,-1,0,0};

1.用char二维数组记录是因为题目中给的是不带空格的输入,用int会被识别为一个数字

(2)main函数逻辑

int main()
{//录入数据cin >> n >> m;memset(dis,-1,sizeof(dis));for(int i = 1; i <= n ; i++){for(int j = 1; j <= m; j++){cin >> vv[i][j];if(vv[i][j] == '1')//记录坐标和标记距离{q.push({i,j});dis[i][j] = 0;}}}bfs();//输出数据for(int i = 1; i <= n ; i++){for(int j = 1; j <= m; j++){cout << dis[i][j] << " ";}cout << endl;}return 0;
}

(3)bfs

void bfs()
{while(!q.empty()){size_t size = q.size();for(int i = 0; i < size; i++){auto pos = q.front();q.pop();for(int j = 0; j < 4; j++){int newx = pos.first +  dx[j];int newy = pos.second + dy[j];if(newx>=1&&newx<=n&&newy>=1&&newy<=m&&dis[newx][newy] == -1){dis[newx][newy] = dis[pos.first][pos.second] + 1;q.push({newx,newy});}}}}
}

1.这里我们不能使用vector的二维方向数组,因为对空间有要求

2.核心就是对没遍历过的位置进行距离更新,因为bfs的性质,最先搜索到的就是最短距离。

而当前位置最短距离就是前一个位置的最短距离+1

矩阵距离

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

相关文章:

  • 东莞道滘网站建设自己做网站要不要租服务器
  • 梅州建站多少钱wordpress 3.9中文版
  • 网站建设项目方案ppt个人网站建设方案书怎么写
  • ps做网站公司网站建设情况
  • 免费flash网站模板带后台五十家装修公司官网
  • 安徽网站开发培训河东区建设局网站
  • 网站小程序定制公司专门做盗文网站的公司
  • 什么网站可以自己做字phpcms网站logo
  • 2017年网站设计营销模式有几种
  • 床上做受网站培训行业门户网站建设
  • 驻马店网站制作网站优化服务
  • 网站建设下载模板之后怎么修改个人网站怎么做微信支付
  • 重庆免费网站推广软件山东裕达建设工程咨询有限公司网站
  • 宜选网的网站是什么做的添加图标wordpress
  • 百色网站建设公司网站需要的栏目和内容
  • 淘宝客做的比较好的网站临沂做百度网站软件公司
  • 合肥中小型企业网站建设方案模板融资
  • 网上服装商城网站建设方案策划书做网站用什么软件编辑
  • 网站空间商拿不回数据无锡建设局网站一号通
  • 中国建设银行网站首页签约一个公司做多个网站是好还是坏
  • 可以做软件的网站有哪些内容吗太原贴吧
  • 佛山外贸网站制作石家庄求做网站
  • 平顺网站建设wordpress json 时间
  • 以前的网站忘了怎么办啊机关单位网站建设申请
  • 国外网站做acm题目比较好重庆seo管理平台
  • 环保公司网站架构怎么做外贸网站优化怎么做
  • 这是我自己做的网站吗腾讯企业邮箱登录登录入口
  • 建设河南分行网站全网营销系统怎么样
  • 本地建站软件有哪些WordPress安装插件要FTP
  • 流放之路做长老环的网站html5集团网站