Thiết kế đường điện
Đề bài
Mô tả
Ông Hàm là chủ một trang trại nuôi bò có dạng hình đa giác lồi đỉnh. Cổng của trang trại là một cạnh của đa giác, kí hiệu là , với là hai đỉnh của đa giác. Mùa đông lạnh giá đang tới, ông xây dựng hệ thống sưởi cho đàn bò của mình như sau.
Đầu tiên ông đặt tại mỗi đỉnh đa giác một cột đèn sưởi, dây điện nối liên thông giữa một số cột đèn với nhau. Vì lý do an toàn nên ông thiết kế dây điện chỉ chạy trên các đoạn thẳng men theo các cạnh của đa giác mà không đi vào bên trong trang trại và không chạy ngang qua cạnh . Ông đặt hai cầu dao tổng tại hai đỉnh nhằm đưa nguồn điện từ bên ngoài vào hệ thống đèn sưởi bắt đầu từ . Để tiết kiệm chi phí, ngoài cạnh ông không cho chạy dây qua một cạnh dài nhất trong số các cạnh còn lại của đa giác. Sau khi hoàn thành ông tính ra tổng độ dài dây điện sử dụng là khá lớn, nên ông quyết định tiết kiệm tối đa dây điện sử dụng trong việc dẫn nguồn điện vào.
Nhằm đảm bảo nguồn điện liên tục cho hệ thống đèn sưởi của trang trại, ông chủ trang trại tìm cách đi dây sao cho tất cả đèn sưởi đều có hai nguồn điện đi tới. Trong trường hợp có một nguồn điện bị mất thì vẫn còn một nguồn điện dự phòng cung cấp. Ông quyết định phương án đi dây điện ngầm từ hai nguồn điện đến hai đỉnh , ký hiệu vị trí hai nguồn điện đó là và . Lưu ý rằng dây điện không nhất thiết phải chạy riêng rẽ trực tiếp từ từng nguồn điện đến hai đỉnh mà có thể đi chung và rẽ nhánh ở một số điểm trên đường đi, nhưng phải đảm bảo mỗi đỉnh đều có cách dẫn điện từ cả hai nguồn theo hệ thống dây điện mới thiết kế. Do đường điện đi ngầm nên các dây điện có thể chạy bên trong trang trại hoặc trên cạnh . Ngoài ra ông còn phát hiện ra bốn điểm có vị trí liên hệ đặc biệt với nhau (được mô tả chi tiết trong phần subtask của bài toán).
Hình minh họa của đề gốc mô tả một cách đi dây điện: trang trại là đa giác có các đỉnh lần lượt , với là cổng và là cạnh dài nhất khác cạnh nên không được nối. Các dây chạy dọc theo cạnh là , , . Hai nguồn cùng với tạo thành một hình vuông, và dây ngầm đi từ cả bốn điểm tới một điểm rẽ nhánh . Tổng độ dài lượng dây điện sử dụng trong cách đi dây đó bằng tổng độ dài các đoạn:
Yêu cầu: Biết tọa độ vị trí các đỉnh của đa giác và tọa độ vị trí của hai nguồn điện, hãy giúp ông Hàm thiết kế đi dây điện sao cho tổng độ dài dây điện sử dụng là ít nhất. Độ dài dây điện được tính bằng tổng độ dài đoạn đường mà dây đi qua, quanh các cạnh của đa giác và từ hai nguồn điện đến .
Dữ liệu vào
- Dòng thứ nhất chứa một số nguyên là số đỉnh của đa giác;
- Dòng thứ hai chứa hai số nguyên là tọa độ của đỉnh ;
- Dòng thứ ba chứa hai số nguyên là tọa độ của đỉnh ;
- Mỗi dòng trong số dòng tiếp theo chứa hai số nguyên là tọa độ một trong số đỉnh còn lại của đa giác;
- Dòng cuối cùng chứa bốn số nguyên là các tọa độ tương ứng của vị trí hai nguồn điện và .
Trong dữ liệu vào, các đỉnh của đa giác không nhất thiết được liệt kê theo một thứ tự nhất định cho trước. Dữ liệu đảm bảo không có ba đỉnh nào của đa giác thẳng hàng.
Dữ liệu ra
In ra một số duy nhất là độ dài dây điện tìm được, làm tròn đến chữ số sau dấu thập phân. Kết quả được chấp nhận nếu sai khác so với đáp án không quá .
Ràng buộc
- ;
- Tất cả tọa độ trong dữ liệu vào nằm trong khoảng ;
- Mỗi test thỏa mãn điều kiện của một trong các subtask dưới đây.
Subtasks
- Subtask 1 ( số test, số điểm): , các tọa độ đỉnh của đa giác được liệt kê xuôi chiều kim đồng hồ theo trình tự xuất hiện trong dữ liệu vào, và bốn vị trí cùng nằm trên một đường thẳng;
- Subtask 2 ( số test, số điểm): , các tọa độ của nằm trong khoảng , và đường thẳng đi qua hai điểm là đường trung trực của đoạn thẳng , đồng thời thuộc cùng một nửa mặt phẳng tạo bởi đường thẳng đi qua ;
- Subtask 3 ( số test, số điểm): , và đường thẳng đi qua hai điểm là đường trung trực của đoạn thẳng , đồng thời thuộc cùng một nửa mặt phẳng tạo bởi đường thẳng đi qua ;
- Subtask 4 ( số test, số điểm): , và bốn đỉnh tạo thành một hình vuông.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 0 0 0 0 4 4 4 -1 0 5 0 |
14.00 | Trang trại là hình vuông với , và hai đỉnh , . Dây dọc theo cạnh: nối với và nối với (dài ); cạnh dài nhất không được nối là cạnh giữa và . Dây ngầm ít nhất: nối với , với , và với (dài ). |
| 4 0 0 2 0 3 3 -1 3 0 -2 2 -2 |
11.79 | Dây dọc theo cạnh: hai cạnh dài (cạnh dài không nối). Bốn điểm tạo thành hình vuông cạnh ; mạng dây ngầm ngắn nhất dùng hai điểm rẽ nhánh và dài . Tổng . |
Bình luận