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

在线探测网站开发语言东莞营销网站建设优化

在线探测网站开发语言,东莞营销网站建设优化,263企业邮箱怎么注册,邓州网站制作原题链接:173. 矩阵距离 - AcWing题库 给定一个 N行 M 列的 01矩阵 A,A[i][j] 与 A[k][l]]之间的曼哈顿距离定义为: dist(i,j,k,l)|i−k||j−l|| 输出一个 N 行 M 列的整数矩阵 B,其中: B[i][j]min1≤x≤N,1≤y≤M,A…

原题链接:173. 矩阵距离 - AcWing题库

给定一个 N行 M 列的 01矩阵 A,A[i][j] 与 A[k][l]]之间的曼哈顿距离定义为:

dist(i,j,k,l)=|i−k|+|j−l||

输出一个 N 行 M 列的整数矩阵 B,其中:

B[i][j]=min1≤x≤N,1≤y≤M,A[x][y]=1dist(i,j,x,y)

输入格式

第一行两个整数 N,M

接下来一个 N 行 M 列的 01 矩阵,数字之间没有空格。

输出格式

一个 NN 行 MM 列的矩阵 B,相邻两个整数之间用一个空格隔开。

数据范围

1≤N,M≤1000

输入样例:
3 4
0001
0011
0110
输出样例:
3 2 1 0
2 1 0 0
1 0 0 1

#include<iostream>
#include<algorithm>
#include<cstring>// 定义宏,方便使用pair的first和second成员
#define x first
#define y secondusing namespace std;// 定义一个pair<int, int>类型的别名PII
typedef pair<int,int> PII;// 定义常量N和M,N表示网格的最大行数,M表示队列的最大大小
const int N = 1010, M = N*N;// 定义全局变量n和m,分别表示网格的行数和列数
int n, m;// 定义一个二维字符数组g,用于存储网格中的字符
char g[N][N];// 定义一个队列q,用于广度优先搜索
PII q[M];// 定义一个二维整数数组dist,用于存储每个位置到最近的'1'的距离
int dist[N][N];// 定义广度优先搜索函数bfs
void bfs()
{// 初始化dist数组,所有位置的距离设为-1memset(dist, -1, sizeof dist);// 定义队列的头指针hh和尾指针ttint hh = 0, tt = -1;// 遍历整个网格,将所有值为'1'的位置加入队列,并将它们的距离设为0for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){if (g[i][j] == '1'){dist[i][j] = 0;q[++tt] = {i, j};}}}// 定义四个方向的移动数组dx和dyint dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};// 开始广度优先搜索while (hh <= tt){// 取出队列头部元素auto t = q[hh++];// 遍历四个方向for (int i = 0; i < 4; i++){// 计算新位置的坐标int a = t.x + dx[i], b = t.y + dy[i];// 如果新位置超出网格范围,则跳过if (a < 0 || a >= n || b < 0 || b >= m) continue;// 如果新位置已经访问过,则跳过if (dist[a][b] != -1) continue;// 更新新位置的距离,并将其加入队列dist[a][b] = dist[t.x][t.y] + 1;q[++tt] = {a, b};}}
}// 主函数
int main()
{// 读取网格的行数和列数scanf("%d %d", &n, &m);// 读取网格中的字符for (int i = 0; i < n; i++){scanf("%s", g[i]);}// 调用广度优先搜索函数bfs();// 输出每个位置到最近的'1'的距离for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){printf("%d ", dist[i][j]);}printf("\n");}return 0;
}

http://www.yayakq.cn/news/494134/

相关文章:

  • 网站空间买什么的好网站是公司域名是个人可以
  • 沧州企业网站建设方案源码库官网
  • 哪个网站做欧洲旅游攻略好深圳黄页企业联系方式
  • 建设网站个人简介范文免费网站模板带后台下载
  • 网站建设推广服务wordpress迁hexo
  • 宁波h5建站杭州滨江网站开发
  • 莱州网站建设公司设计网站公司 露 联湖南岚鸿
  • 网站推广营销策略静态网站开发课程
  • 太原网站建设设计免费外链平台
  • 前程无忧网广州网站建设类岗位智慧团建网页手机版官网
  • 网站手机端做排名wdcp新建网站
  • 一般网站是用什么框架做的wordpress 相册 主题
  • 厦门网站建设和人才库建设自动发货 wordpress
  • 开源企业建站系统php樟树网站制作
  • 自动化科技产品网站建设宿迁网站建设哪家专业
  • 做网站要学一些什么公司的网站建设做什么费用
  • 网站开发 定制 合同范本新乡 网站运营
  • 母婴的网站建设教育类的网站方案
  • 青岛济南网站制作网站编辑制作
  • 网站建设推广邮件wordpress搜索页自定义
  • 快速搭建网站python哪个应用市场软件最全
  • 公司请做网站济南软件公司排名
  • 网站域名和空间区别南宁seo外包服务商
  • 网站百度云.net电影网站开发
  • 联合年检怎么做网站上织梦网站自适应怎么做
  • 山西省建设厅网站 孙涛百度发布平台官网
  • 网站开发最快的语言济南建设工程交易中心
  • 上海联通 网站备案长安网站制作
  • php做网站优点有几个网站
  • 自动化网站建设建网站上海