#761. Mạng lưới liên lạc Bắc Cực (NETWORK)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Tại một khu vực ở Bắc Cực có tổng cộng n ngôi làng, tọa độ của mỗi ngôi làng được biểu diễn bằng một cặp số nguyên ( x, y ). Để tăng cường liên lạc, người ta quyết định xây dựng mạng lưới thông tin giữa các ngôi làng. Công cụ liên lạc có thể là máy thu phát vô tuyến hoặc thiết bị vệ tinh.

Tất cả các ngôi làng đều có thể sở hữu một máy thu phát vô tuyến, và tất cả các máy thu phát đều cùng một loại. Tuy nhiên, số lượng thiết bị vệ tinh có hạn, chỉ có thể trang bị cho một số ngôi làng.

Các loại máy thu phát vô tuyến khác nhau có một tham số d khác nhau, khoảng cách giữa hai ngôi làng nếu không vượt quá d thì có thể dùng loại máy này để liên lạc trực tiếp, d càng lớn thì giá càng đắt. Hai ngôi làng sở hữu thiết bị vệ tinh có thể liên lạc trực tiếp bất kể khoảng cách bao xa.

Hiện có k thiết bị vệ tinh, hãy viết một chương trình tính toán cách phân bổ k thiết bị này sao cho giá trị d của các máy thu phát vô tuyến cần dùng là nhỏ nhất, đồng thời đảm bảo mỗi cặp ngôi làng đều có thể liên lạc trực tiếp hoặc gián tiếp với nhau.

Ví dụ, với ba ngôi làng dưới đây:

Minh họa

Trong đó |AB|= 10, |BC|= 20, |AC|= 10\sqrt{5} \approx 22.36 .

  • Nếu không có thiết bị vệ tinh nào hoặc chỉ có 1 thiết bị ( k=0 hoặc k=1 ), thì d nhỏ nhất thỏa mãn điều kiện là 20 . Vì A B , B C có thể liên lạc trực tiếp bằng vô tuyến; còn A C có thể liên lạc gián tiếp qua trung gian B (tin nhắn từ A truyền đến B , rồi từ B truyền đến C ).
  • Nếu có 2 thiết bị vệ tinh ( k=2 ), ta có thể phân bổ cho B C , khi đó d nhỏ nhất có thể lấy là 10 . Vì A B liên lạc trực tiếp bằng vô tuyến; B C liên lạc trực tiếp bằng vệ tinh; A C liên lạc gián tiếp qua trung gian B .
  • Nếu có 3 thiết bị vệ tinh, thì A, B, C đôi một đều có thể liên lạc bằng vệ tinh, d nhỏ nhất có thể là 0 .

Dữ liệu:

  • Dòng đầu tiên gồm hai số nguyên cách nhau bởi dấu cách n, k .
  • Các dòng từ 2 \sim n+1 , mỗi dòng gồm hai số nguyên, dòng thứ i chứa x_i, y_i là tọa độ của ngôi làng thứ i .

Kết quả:

  • Một số thực, biểu thị giá trị d nhỏ nhất, kết quả làm tròn đến 2 chữ số thập phân.

Ví dụ:

Dữ liệu:

3 2
10 10
10 0
30 0

Kết quả:

10.00

Giới hạn: 1\le n\le 500, 0\le x, y\le 10^4, 0\le k\le 100 .