P83298

二维凸包

难度 7 级 动态规划入门 斜率优化
讨论 统计 0通过 0提交 旧版界面
时间限制 1 秒 内存限制 128 MB

题目描述

凸包(Convex Hull)是一个计算几何(图形学)中的概念。

在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的凸组合来构造.

在二维欧几里得空间中,凸包可想象为一条刚好包著所有点的橡皮圈。

用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点。

输入

第一行一个数n,表示二维直角坐标系下的点数

接下来n行,每行2个数字(x_i,y_i),表示点的坐标

输出

从x最小坐标开始,逆时针输出凸包上的所有点坐标

样例

样例 1
输入
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

来源

模板

Tab 缩进 · 提交后可在下方查看评测状态
请先登录后再提交