#AT1380. B - Good Distance

B - Good Distance

B - 良好的距离

得分:200分

题目描述

在$D$维空间中有$N$个点。

第$i$个点的坐标是$(X_{i1}, X_{i2}, ..., X_{iD})$。

两个坐标为$(y_1, y_2, ..., y_D)$和$(z_1, z_2, ..., z_D)$的点之间的距离是$\sqrt{(y_1 - z_1)^2 + (y_2 - z_2)^2 + ... + (y_D - z_D)^2}$。

有多少对$(i, j)$,其中$i < j$,满足第$i$个点和第$j$个点的距离是整数?

约束

  • 输入中的所有值都是整数。
  • $2 \leq N \leq 10$
  • $1 \leq D \leq 10$
  • $-20 \leq X_{ij} \leq 20$
  • 没有两个给定的点有相同的坐标。也就是说,如果 $i \neq j$,那么存在 $k$,满足 $X_{ik} \neq X_{jk}$。

输入

输入以以下格式从标准输入中给出:

NN DD

X11X_{11} X12X_{12} ...... X1DX_{1D}

X21X_{21} X22X_{22} ...... X2DX_{2D}

\vdots

XN1X_{N1} XN2X_{N2} ...... XNDX_{ND}

输出

输出满足第$i$个点和第$j$个点的距离是整数的对数。


3 2
1 2
5 5
-2 8
1

距离为整数的对数为1,如下:

  • 第一个点和第二个点之间的距离是$\sqrt{|1-5|^2 + |2-5|^2} = 5$,是一个整数。
  • 第二个点和第三个点之间的距离是$\sqrt{|5-(-2)|^2 + |5-8|^2} = \sqrt{58}$,不是一个整数。
  • 第三个点和第一个点之间的距离是$\sqrt{|-2-1|^2+|8-2|^2} = 3\sqrt{5}$,不是一个整数。

3 4
-3 7 8 2
-12 1 10 2
-2 8 9 3
2

5 1
1
2
3
4
5
10