问题1557--跑图

1557: 跑图

时间限制: 1Sec 内存限制:64 MB
提交:730 解决:161
[ 状态] [ 讨论版] [ 提交] [命题人: ]
题目描述
跑图是RPG游戏中很烦躁的事情。玩家需要跑到距离他最近的传送点的位置。现在给你一张 N × M的方格图,每个方格中数值 0表示为平地,数值 1表示为传送点,你的任务是输出一张 N × M的矩阵, Matrix xy表示从 (x, y)到距离它最近的传送点的距离。 这里的距离是曼哈顿距离, (x 1 , y 1 )→ (x 2 , y 2 )的距离为 ∣x 1 − x 2 ∣ + ∣y 1 − y 2
输入
第一行,有两个数 n,m。接下来 n行,每行 m个数。
数据保证至少有一个传送点。
1 ≤ n ≤ 500 , 1 ≤ m ≤ 500

输出

n行,每行m个数,表示某个点到离它最近的传送点的距离。
样例输入 Copy
2 3 0 0 0 1 0 1
样例输出 Copy
1 2 1 0 1 0
来源/分类