Trong mặt phẳng tọa độ hai chiều Oxy, bạn được cho một tập hợp gồm \(n\) điểm. Nhiệm vụ của bạn là tìm bao lồi (convex hull) của tập hợp các điểm này.
Bao lồi của một tập hợp các điểm là đa giác lồi nhỏ nhất chứa tất cả các điểm trong tập hợp đó. Các đỉnh của đa giác này phải là các điểm đã cho ban đầu.
**Yêu cầu: **
Cho tọa độ của \(n\) điểm, hãy tìm và in ra các đỉnh của bao lồi.
Input
- Dòng đầu tiên chứa một số nguyên \(n\) (\(3 \le n \le 2 \cdot 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\) và \(y\) (\(-10^9 \le x, y \le 10^9\)), là tọa độ của một điểm.
- Đảm bảo rằng không có hai điểm nào có cùng tọa độ và diện tích của bao lồi luôn dương.
Output
- Dòng đầu tiên in ra một số nguyên \(k\), là số lượng đỉnh của bao lồi.
- \(k\) dòng tiếp theo, mỗi dòng in ra tọa độ của một đỉnh thuộc bao lồi. Bạn có thể in các điểm này theo bất kỳ thứ tự nào.
Example
Test 1
Input
6
2 1
2 5
3 3
4 3
4 4
6 3
Output
4
2 1
2 5
4 4
6 3
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.