#P2329. Nearest number - 2

    ID: 1330 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>搜索线性代数Northeastern Europe 2003Far-Eastern Subregion

Nearest number - 2

题目描述

给定一个 N×NN \times N 的非负整数矩阵 AA。定义两个元素 AijA_{ij}ApqA_{pq} 之间的距离为曼哈顿距离:

distance=ip+jq\text{distance} = |i - p| + |j - q|

你的任务是将矩阵中的每个 00 元素替换为最近的非零元素。若存在多个距离相同的非零元素,则保留该 00 不变。

输入格式

  • 第一行:矩阵大小 NN1N2001 \leq N \leq 200)。
  • 接下来 N2N^2 个整数:按行优先顺序给出矩阵元素(0Aij1060 \leq A_{ij} \leq 10^6)。

输出格式

  • 输出替换后的矩阵,按行优先顺序排列。

示例分析

输入数据 1

3
0 0 0
1 0 2
0 3 0

输出数据 1

1 0 2
1 0 2
0 3 0

解释

  • 左上角的 00 距离 1133 均为 22,因此保留 00
  • 其他 00 可唯一确定最近非零元素(如中间的 00 最近 1122,距离均为 11,故保留 00)。