[Buổi 11][Mảng hai chiều][ADV] Bài 2: Khoảng cách nguyên


LÀM BÀI

Points: 15
Time limit: 1.0s
Memory limit: 20M

Author:
Problem types
Allowed languages
C++

Khoảng cách nguyên

Bối cảnh

Có \(N\) điểm trong không gian \(D\) chiều.

Yêu cầu

Tọa độ của điểm thứ \(i\) là \((X_{i1}, X_{i2}, ..., X_{iD})\).

Khoảng cách giữa hai điểm có tọa độ \((y_1, y_2, ..., y_D)\) và \((z_1, z_2, ..., z_D)\) là \((y_1 - z_1)^2 + (y_2 - z_2)^2 + ... + (y_D - z_D)^2\).

Hỏi có bao nhiêu cặp \((i, j)\) (\(i<j\)) sao cho khoảng cách giữa điểm thứ \(i\) và điểm thứ \(j\) là một số nguyên?

Input

N
D
X_{11} X_{12} ... X_{1D}
X_{21} X_{22} ... X_{2D}
...
X_{N1} X_{N2} ... X_{ND}

Output

In ra số lượng cặp \((i, j)\) (i<j) sao cho khoảng cách giữa điểm thứ \(i\) và điểm thứ \(j\) là một số nguyên.

Ràng buộc

  • Tất cả giá trị đầu vào là số nguyên.
  • \(2 \leq N \leq 10\)
  • \(1 \leq D \leq 10\)
  • \(-20 \leq X_{ij} \leq 20\)
  • Không có hai điểm nào có tọa độ giống nhau. Nghĩa là nếu \(i eq j\), tồn tại \(k\) sao cho \(X_{ik} eq X_{jk}\).
Ví dụ 1

Input

3 2
1 2
5 5
-2 8

Output

1

Giải thích ví dụ

Số cặp có khoảng cách là số nguyên là một, như sau:

Khoảng cách giữa điểm thứ nhất và điểm thứ hai là \(|(1-5)|^2 + |(2-5)|^2 = 5\), là một số nguyên. Khoảng cách giữa điểm thứ hai và điểm thứ ba là \(|(5+2)|^2 + |(5-8)|^2 = 58\), không phải là số nguyên. Khoảng cách giữa điểm thứ ba và điểm thứ nhất là \(|(-2-1)|^2 + |(8-2)|^2 = 35\), không phải là số nguyên.

Ví dụ 2

Input

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

Output

2

Giải thích ví dụ

  • Ví dụ 1:

    • Có một cặp điểm có khoảng cách là số nguyên: (1, 2) và (5, 5) với khoảng cách là 5.
  • Ví dụ 2:

    • Có hai cặp điểm có khoảng cách là số nguyên:
      1. (−3, 7, 8, 2) và (−12, 1, 10, 2) với khoảng cách là 268.
      2. (−12, 1, 10, 2) và (−2, 8, 9, 3) với khoảng cách là 118.

Thông tin học tập

  • Buổi: B11
  • Concepts: 2D coordinate arrays, nested loops, squared distance
  • Giới hạn kiến thức: B01-B11
  • Time limit: 1 second
  • Memory limit: 20 MB
  • Point: 15

Comments

There are no comments at the moment.

Zalo