【题目描述】
本题包含
给定
更详细的定义请参见下面的注释。
注释:
- 对于二维点的一个(多重)集合
,将 的凸包记为 。 - 定义
。 - 可以证明,存在满足
的最小集合 。 的顶点定义为 中的元素。 - 当
时,以任意顺序输出 中的点。当 时,可以证明 是一个凸多边形, 是其顶点,并且可以定义其逆时针顺序。可以旋转这个顺序,若输出的顺序为逆时针方向则均可接受。 - 根据上述定义,如果点
在 的一条边上但不是顶点,则不应输出该点。 - 输入中可能包含坐标相同的多个点,但输出中不应包含坐标相同的多个点。
【输入】
输入格式如下:
$T$
$N$
$x_0$ $y_0$
$x_1$ $y_1$
:
$x_{N - 1}$ $y_{N - 1}$
$N$
$x_0$ $y_0$
$x_1$ $y_1$
:
$x_{N - 1}$ $y_{N - 1}$
$\vdots$【输出】
对于每组测试数据,按照以下格式输出坐标:
$M$
$x'_0$ $y'_0$
$x'_1$ $y'_1$
:
$x'_{M - 1}$ $y'_{M - 1}$【输入样例】
1
9
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2【输出样例】
4
0 0
2 0
2 2
0 2【输入样例2】
4
0
1
1 1
3
1 1
1 1
1 1
4
-2 -2
-1 -1
0 0
0 0【输出样例2】
0
1
1 1
1
1 1
2
-2 -2
0 0【数据范围】
为整数。 - 所有测试数据中
的总和不超过
【来源】
Library Checker(yosupo06) static_convex_hull
本题为 special judge(输出任意合法解),暂不可本地评测。