Dựng bao lồi
Xem dưới dạng PDF
Gửi bài giải
Điểm:
20
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
An đang khảo sát một khu vực rừng với nhiều cột mốc trên bản đồ. An muốn xác định đường bao quanh khu vực này bằng cách nối một số cột mốc ngoài cùng lại với nhau sao cho toàn bộ các cột mốc còn lại đều nằm bên trong hoặc trên đường bao đó.
Hãy giúp An tìm tập hợp các cột mốc nằm trên đường bao ngoài cùng.
Định dạng đầu vào
- Dòng đầu tiên chứa số nguyên \(N\) (\(3 \le N \le 10^5\)) là số lượng điểm.
- \(N\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x_i, y_i\) (\(-10^9 \le x_i, y_i \le 10^9\)).
Định dạng đầu ra
- Dòng đầu tiên in ra số lượng điểm \(M\) trên đường bao ngoài cùng.
- \(M\) dòng tiếp theo, mỗi dòng in toạ độ \(x\) \(y\) của một điểm trên đường bao, theo thứ tự ngược chiều kim đồng hồ, bắt đầu từ điểm có hoành độ nhỏ nhất (nếu nhiều điểm cùng hoành độ thì lấy điểm có tung độ nhỏ nhất).
Ví dụ
Input:
6
0 0
4 0
2 2
4 4
0 4
2 1
Output:
4
0 0
4 0
4 4
0 4
Giải thích: Đường bao ngoài cùng là hình chữ nhật đi qua bốn điểm \((0,0), (4,0), (4,4), (0,4)\). Các điểm \((2,2)\) và \((2,1)\) nằm bên trong.
Ràng buộc
- 30% số điểm: \(N \le 10^3\).
- 30% số điểm tiếp theo: \(N \le 10^4\).
- 40% số điểm còn lại: \(N \le 10^5\).
Nhận xét