trang chủ / đề bài / dhbb23_cvahn_11_b

Lắp hệ thống điện

Đề bài

Mô tả

Một vùng dân cư có n hộ lắp hệ thống điện mặt trời. Hộ dân thứ i có tọa độ (xi,yi) (1≤i≤n), trong đó xi,yi là các số nguyên không âm và không có hai hộ dân nào có tọa độ trùng nhau. Hiện tại, đã có m đoạn dây kết nối điện giữa các hộ dân với nhau, tạo thành các vùng liên kết điện nhỏ giữa các hộ và đã hỗ trợ ổn định điện cho nhau rất tốt.

Chính quyền vùng dân cư này muốn triển khai dự án kết nối điện cho n hộ dân tạo thành một hệ thống điện, đảm bảo ổn định điện cho cả vùng: hai hộ bất kỳ đều có kết nối điện với nhau theo cách nối trực tiếp hoặc nối thông qua các hộ dân khác, khi tận dụng m đoạn dây điện đã có và các đoạn dây điện thêm mới. Có thể nối thêm một đoạn dây điện mới giữa hai hộ dân bất kỳ. Do kinh phí có hạn, chính quyền muốn chi phí bỏ ra là thấp nhất có thể. Chi phí phụ thuộc vào tổng độ dài các đoạn dây điện mới; độ dài của đoạn dây điện nối giữa hai hộ dân là khoảng cách hình học (khoảng cách Euclid) giữa tọa độ của hai hộ dân đó. Các đoạn dây đã có không tốn thêm chi phí.

Yêu cầu: Cho vùng dân cư có n hộ dân và m đoạn dây kết nối điện được mô tả như trên. Hãy tính tổng độ dài nhỏ nhất của các đoạn dây điện thêm mới nối giữa các hộ để hai hộ dân bất kỳ đều có kết nối điện với nhau.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên dương n,m (2≤n≤1000; 1≤m≤104).
  • Dòng thứ i trong n dòng tiếp theo chứa hai số nguyên xi,yi (0≤xi,yi≤105) là tọa độ của hộ dân thứ i.
  • Mỗi dòng trong m dòng cuối cùng chứa hai số nguyên u,v (u≠v; 1≤u,v≤n), cho biết hộ dân thứ u có đoạn dây điện nối trực tiếp với hộ dân thứ v.

Dữ liệu ra

In ra một số thực duy nhất là tổng độ dài nhỏ nhất của các đoạn dây điện thêm mới, làm tròn đến đúng ba chữ số sau dấu chấm thập phân. Nếu các hộ dân đã được kết nối với nhau thì in ra 0.000.

Ràng buộc

  • 2≤n≤1000; 1≤m≤104.
  • 0≤xi,yi≤105; không có hai hộ dân trùng tọa độ.
  • 1≤u,v≤n; u≠v.
  • 50% số test có n≤500.

Ví dụ

Input Output Giải thích
5 2
1 1
4 1
1 6
3 4
5 3
1 3
4 5
5.064 Cần thêm mới hai đoạn dây điện: hộ dân 2 nối với hộ dân 5 (độ dài 5) và hộ dân 3 nối với hộ dân 4 (độ dài 8). Tổng độ dài là 5+8≈5.064.
4 1
0 0
1 0
0 1
1 1
1 4
2.000 Ví dụ bổ sung. Hộ 1 và hộ 4 đã được nối; nối thêm hộ 2 với hộ 1 và hộ 3 với hộ 1, mỗi đoạn dài 1.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0