TimCamBien
Tìm cảm biến
64 MB
1 giây
Dễ
CAMBIEN.INP
CAMBIEN.OUT
Tại một trại nghiên cứu sinh thái, các nhà khoa học đặt cảm biến tại nhiều vị trí khác nhau trong một khu rừng để theo dõi nhiệt độ và độ ẩm.
Mỗi cảm biến được xác định bằng tọa độ (x, y) trên bản đồ.
Một ngày nọ, hệ thống báo cáo rằng một số cảm biến có thể bị đặt quá gần nhau, gây nhiễu sóng.
Bạn – kỹ sư phụ trách hệ thống – cần viết một chương trình xác định hai cảm biến gần nhau nhất để điều chỉnh lại vị trí.
Vì số lượng cảm biến có thể lên đến hàng trăm nghìn, nếu duyệt từng cặp một thì chương trình sẽ chạy rất chậm.
Vì vậy, bạn cần vận dụng kỹ thuật chia để trị để tìm ra khoảng cách nhỏ nhất hiệu quả nhất.
📥 Dữ liệu vào: Đọc từ tệp CAMBIEN.INP bao gồm:
-
Dòng 1: Một số nguyên
n— số lượng cảm biến (2 ≤ n ≤ 10⁵). -
ndòng tiếp theo: Mỗi dòng chứa hai số thựcxvày— tọa độ của cảm biến.
📤 Dữ liệu ra: Ghi ra tệp CAMBIEN.OUT gồm:
-
In ra khoảng cách nhỏ nhất giữa hai cảm biến, làm tròn đến 6 chữ số sau dấu phẩy.
Ví dụ mẫu
| CAMBIEN.INP | CAMBIEN.OUT |
|---|---|
| 4 0 0 1 1 2 2 5 5 |
1.414214 |
| 3 -1 0 0 0 3 4 |
1.000000 |