Chu vi bao lồi
Đề bài
Mô tả
Cho điểm trên mặt phẳng tọa độ với tọa độ nguyên. Bao lồi của tập điểm là đa giác lồi nhỏ nhất chứa toàn bộ điểm. Hãy tính chu vi của bao lồi đó.
Dữ liệu vào
- Dòng đầu chứa một số nguyên — số điểm.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và .
Dữ liệu ra
Một số thực duy nhất — chu vi bao lồi, in với ít nhất 6 chữ số sau dấu phẩy. Sai số tuyệt đối hoặc tương đối được chấp nhận.
Trường hợp suy biến:
- Nếu : chu vi bằng .
- Nếu tất cả các điểm thẳng hàng (bao lồi suy biến thành đoạn thẳng): chu vi bằng hai lần độ dài đoạn thẳng nối hai điểm xa nhau nhất trên đường thẳng đó.
Ràng buộc
- .
- .
- Các điểm có thể trùng nhau.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 0 0 4 0 4 3 0 3 |
14.000000 | Bao lồi là hình chữ nhật , chu vi . |
| 5 0 0 2 0 2 2 0 2 1 1 |
8.000000 | Điểm nằm trong, bao lồi là hình vuông cạnh , chu vi . |
| 3 0 0 1 1 2 2 |
5.656854 | Ba điểm thẳng hàng. Đoạn dài nhất là từ tới , độ dài , chu vi . |
Ghi chú
Sử dụng kiểu double (hoặc long double) khi cộng các cạnh; phần tính bao lồi nên giữ ở số nguyên (cross product là số nguyên) để tránh sai số.
Bình luận