题目名称 3486. [BZOJ 2250]矩阵距离
输入输出 arraydis.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatargao 于2020-10-21加入
开放分组 全部用户
提交状态
分类标签
BFS 搜索法
分享题解
通过:11, 提交:19, 通过率:57.89%
Gravatar增强型图元文件 100 1.090 s 16.02 MiB C++
GravatarOasiz 100 1.108 s 20.40 MiB C++
Gravatar已注销 100 1.294 s 14.96 MiB C++
GravatarHarry Potter 100 1.377 s 12.99 MiB C++
Gravatar锝镆氪锂铽 100 1.575 s 12.31 MiB C++
GravatarAsongA 100 1.662 s 7.39 MiB C++
GravatarShallowDream雨梨 100 1.736 s 17.86 MiB C++
Gravatar增强型图元文件 100 1.750 s 18.31 MiB C++
Gravatartat 100 1.806 s 12.92 MiB C++
Gravatarmxr2022 100 1.896 s 8.48 MiB C++
关于 矩阵距离 的近10条评论(全部评论)

3486. [BZOJ 2250]矩阵距离

★   输入文件:arraydis.in   输出文件:arraydis.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

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

$dist(A[i][j],A[k][l]) = |i-k|+|j-l|$

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

$B[i][j]=min(1≤x≤N,1≤y≤M,A[x][y]=1)⁡{dist(A[i][j],A[x][y])}$

即求与每个位置曼哈顿距离最近的 $1$,$N,M≤1000$。

【输入格式】

第一行两个整数 $n,m$。

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

【输出格式】

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

【样例输入】

3 4
0001
0011
0110

【样例输出】

3 2 1 0
2 1 0 0
1 0 0 1

【来源】

《算法竞赛进阶指南》
BZOJ2250