Bao lồi

Xem PDF

Điểm: 200 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Trên mặt phẳng với hệ trục tọa độ Descartes vuông góc Οxy cho \(n\) điểm đánh số từ \(1\) tới \(n\), có thể có những điểm trùng nhau nhưng có ít nhất \(3\) điểm không thẳng hàng. Điểm thứ \(i\) có tọa độ \((x_{i}, y_{i})\). Hãy tìm một đa giác lồi với diện tích nhỏ nhất mà miền giới hạn bởi đa giác (tính cả đường biên) chứa tất cả \(n\) điểm đã cho. (Đa giác lồi được định nghĩa là miền giới hạn bởi một đường gấp khúc khép kín không tự cắt có các đỉnh phân biệt và các góc nhỏ hơn \(180\) độ).

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) \((3 \leq n \leq 10^{5})\).
  • \(n\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(x_{i}, y_{i}\) \((|x_{i}|, |y_{i}| \leq 10^{9})\).

Output

  • Dòng đầu tiên ghi số đỉnh \((m)\) của đa giác tìm được
  • Dòng tiếp theo ghi diện tích đa giác tìm được với đúng \(1\) chữ số sau dấu chấm thập phân.
  • \(m\) dòng tiếp theo, dòng thứ \(j\) ghi tọa độ đỉnh thứ \(j\) của đa giác tìm được theo thứ tự sau: Đỉnh trái nhất trong số những đỉnh thấp nhất của bao lồi được đánh số 1, các đỉnh còn lại được đánh số theo thứ tự tạo thành đa giác liệt kê theo chiều ngược với chiều kim đồng hồ.

Example

Test 1

Input
11
-5 0
-4 2
-3 -2
-1 4
-1 -4
0 0
1 -2
1 -4
2 -3
3 -4
5 -2 
Output
6
46.0
-1 -4
3 -4
5 -2
-1 4
-4 2
-5 0
Note


Bình luận


  • 0
    itachicbh    9:03 a.m. 12 Tháng 5, 2023

    điểm trùng nhau xử lý kiểu gì vậy