#P2622. Convex hull
Convex hull
描述
给定平面上的一个有限点集,该平面采用笛卡尔坐标系。集合的well-formed凸包是满足以下条件的最小集合(相对于包含关系):
- 包含;
- 边界由闭合折线围成;
- 折线的所有线段必须与坐标轴平行或倾斜。
你的任务是找到给定集合的well-formed凸包。
输入
第一行为一个整数(),表示后续有行数据。接下来的每行包含集合中一个点的坐标(两个整数,由若干空格分隔,每个数的取值范围为)。集合中可能存在重叠的点,即不同行可能包含相同的坐标。
输出
按逆时针顺序输出凸包边界折线的顶点序列。第一个顶点可以是任意顶点,每行输出一个顶点的坐标(两个整数,用空格分隔)。每个顶点只能输出一次,且不能存在三个连续顶点共线的情况。
输入样例 1
4
3 3
3 1
2 2
4 2
输出样例 1
3 1
4 2
3 3
2 2
题目来源
1998年乌拉尔大学生程序设计竞赛