#g2006. [GESP2级模拟题]距离矩阵

[GESP2级模拟题]距离矩阵

题目描述

给定一个正整数 nn,请你输出一个 nnnn 列的矩阵(方阵), 其中第 ii 行第 jj 列的元素值为 iijj 的差的绝对值(行号和列号均从 11 开始)。

即:

aij=ija_{ij} = |i - j|

输入格式

输入一行,包含一个正整数 nn

输出格式

输出 nn 行,每行 nn 个整数,表示所求的矩阵。 同一行的相邻整数之间用一个空格隔开。

样例输入

4

样例输出

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

样例解释

n=4n=4 时,矩阵大小为 4×44 \times 4

i\ji\backslash j 1 2 3 4
1 11=0|1-1|=0 12=1|1-2|=1 13=2|1-3|=2 14=3|1-4|=3
2 21=1|2-1|=1 22=0|2-2|=0 23=1|2-3|=1 24=2|2-4|=2
3 31=2|3-1|=2 32=1|3-2|=1 33=0|3-3|=0 34=1|3-4|=1
4 41=3|4-1|=3 42=2|4-2|=2 43=1|4-3|=1 44=0|4-4|=0

数据范围与约定

对于 100%100\% 的数据,1n501 \le n \le 50

提示

  • 主对角线(i=ji=j)上的元素全部为 00,且矩阵关于主对角线对称。
  • 不需要使用数组存储,直接在外层循环中逐行、在内层循环中逐列计算并输出即可。
  • iijj 的差的绝对值可以通过 if 条件判断来求,也可以使用 C++ 的 abs 函数(需包含 <cmath> 头文件)。