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

[GESP2级模拟题]距离矩阵

题目描述

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

即:

aij=∣i−j∣a_{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 ∣1−1∣=0|1-1|=0 ∣1−2∣=1|1-2|=1 ∣1−3∣=2|1-3|=2 ∣1−4∣=3|1-4|=3
2 ∣2−1∣=1|2-1|=1 ∣2−2∣=0|2-2|=0 ∣2−3∣=1|2-3|=1 ∣2−4∣=2|2-4|=2
3 ∣3−1∣=2|3-1|=2 ∣3−2∣=1|3-2|=1 ∣3−3∣=0|3-3|=0 ∣3−4∣=1|3-4|=1
4 ∣4−1∣=3|4-1|=3 ∣4−2∣=2|4-2|=2 ∣4−3∣=1|4-3|=1 ∣4−4∣=0|4-4|=0

数据范围与约定

对于 100%100\% 的数据,1≤n≤501 \le n \le 50。

提示

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