TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P1711
  • 题目
  • P1711【语法基础】最近距离
    限制 : 时间限制 : 10000 MS   空间限制 : 65536 KB
    问题描述

    给定一个n*m的矩阵a,矩阵中每个元素不是0就是1,且1比0少。
    矩阵中两个元素a[x1][y1]和a[x2][y2]的距离d定义为:d = ︱x1 - x2︱+︱y1 - y2︱ (||表示求绝对值,)
      对于矩阵中的每一个元素,计算与它最近的值为1的元素的距离。

    输入格式

    第一行包括两个整数n,m(m和n在1-100之间)用空格隔开
    接下来的n行中为每行的m个元素赋值为0或1

    输出格式

    n行,每行有m个用空格隔开的整数。第i行,第j列的整数表示a[i][j]与离它最近的值为1的元素的距离

    样例输入

    3 4
    0 0 0 1
    0 0 1 1
    0 1 1 0

    样例输出

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

    提示

    注:c++求绝对值的函数是abs() 比如int x=abs(-6); 那么x的值为6
    需要#include<cstdlib> 当然也可以自己写一个求绝对值的函数


    来源  感谢pugan