#Z01673. 凸包的顶点
凸包的顶点
题目描述
给你一个二维平面点集,求解其凸包,凸包是指一个最小凸多边形,满足集合中的点或者在多边形边上或者在其内。 如果点集上所有点都在一条直线上,那么凸包会退化为一条线段,见图右下角
找到凸包的顶点后,从纵坐标y最大的顶点开始顺时针输出凸包上的所有顶点。 1.若纵坐标y有多个最大值,选用横坐标x小的那个顶点作为起始顶点。 2.并非凸包上所有的点都是顶点。
输入格式
输入一个整数T,代表有T个点集1 接下来给出T个点集的信息 每个点集信息的第一行包括两个整数m和n,表示点集的编号和点集含有的点的数量(3 接下来依次给出n个点的信息,每个信息包含x,y两个整数,代表该点的横坐标与纵坐标,每行最多包含5组点的信息
输出格式
第一行输出该点集的编号和凸包上顶点的数量N 接下来N行输出每个顶点的信息
4
1 25
2 1 7 1 1 2 9 2 1 3
10 3 1 4 10 4 1 5 10 5
2 6 10 6 2 7 9 7 3 8
8 8 4 9 7 9 6 2 3 3
5 4 7 5 8 6 4 6 3 7
2 30
3 9 6 9 3 8 9 8 3 7
12 7 2 6 12 6 2 5 12 5
2 4 12 4 1 3 11 3 1 2
11 2 1 1 11 1 1 0 10 0
4 -1 10 -1 7 -2 10 -2 5 0
7 3 4 5 6 8 3 1 2 6
3 3
3 1 2 2 1 3
4 6
1 3 19 1 4 2 2 1 11 2
10 1
1 10
4 9
7 9
10 6
10 3
9 2
7 1
2 1
1 2
1 5
2 7
2 8
3 9
6 9
12 7
12 4
10 -2
7 -2
1 0
1 3
3 2
1 3
3 1
4 4
1 3
11 2
19 1
2 1
豫公网安备41072702000346号