Cặp điểm gần nhất
Đề bài
Mô tả
Cho điểm trên mặt phẳng tọa độ: điểm thứ có tọa độ . Các điểm có thể trùng nhau (nhiều điểm có cùng tọa độ).
Hãy tìm bình phương khoảng cách Euclid nhỏ nhất giữa hai điểm phân biệt theo chỉ số, tức là tính:
In ra kết quả dưới dạng một số nguyên duy nhất. Nếu có ít nhất hai điểm trùng tọa độ thì đáp số bằng .
Dữ liệu vào
- Dòng đầu: số nguyên — số điểm.
- dòng tiếp theo: dòng thứ chứa hai số nguyên và .
Dữ liệu ra
- Một số nguyên: bình phương khoảng cách Euclid nhỏ nhất giữa hai điểm phân biệt theo chỉ số.
Ràng buộc
- Đáp số luôn vừa kiểu
long long(không vượt quá ).
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 0 0 3 4 1 1 |
2 | Khoảng cách giữa và là , bình phương bằng . Hai cặp còn lại lớn hơn. |
| 4 0 0 1 0 0 1 1 1 |
1 | Bốn đỉnh hình vuông đơn vị. Hai điểm gần nhất nằm cách nhau đúng đơn vị (ví dụ và ). |
| 3 5 5 5 5 100 200 |
0 | Hai điểm đầu trùng nhau, nên bình phương khoảng cách nhỏ nhất bằng . |
Ghi chú
- Đáp số có thể lớn tới khi hai điểm nằm ở hai góc đối lập của vùng tọa độ ( và ), do đó bạn nên dùng kiểu số nguyên 64-bit khi tính toán và in kết quả.
- Việc dùng kiểu số thực (double) và
sqrtrồi bình phương lại sẽ dễ bị sai số, không khuyến khích.
Bình luận