3298 - 二维凸包
时间限制 : 1 秒
内存限制 : 128 MB
凸包(Convex Hull)是一个计算几何(图形学)中的概念。
在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的凸组合来构造.
在二维欧几里得空间中,凸包可想象为一条刚好包著所有点的橡皮圈。
用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点。
输入
第一行一个数n,表示二维直角坐标系下的点数
接下来n行,每行2个数字(x_i,y_i),表示点的坐标
输出
从x最小坐标开始,逆时针输出凸包上的所有点坐标
样例
输入
7 1 1 1 9 3 5 6 9 4 4 0 8 5 6
输出
0 8 1 1 4 4 5 6 6 9 1 9
提示
n \leq 10^5 , | x_i,y_i | \leq 10^5
来源
模板