多边形-1 | ||||||
| ||||||
Description | ||||||
任意给定一个多边形,判断它是凸还是凹。多边形的顶点以逆时针方向的序列来表示。
| ||||||
Input | ||||||
输入包含多组测试数据,每组数据占两部分。第一行是一个整数n,表示多边形顶点的个数,接下来n(3<=n<=1000)行每行两个整数,表示逆时针顺序的n个顶点的坐标(xi,yi)(-1000<=xi,yi<=1000)。 n为0的时候结束输入。 | ||||||
Output | ||||||
对于每组测试样例,如果多边形的形状为凸多边形,请输出“Convex”,否则输出”Concave”,每组样例的输出占一行。 | ||||||
Sample Input | ||||||
4 | ||||||
Sample Output | ||||||
Convex
对于有公共端点的线段p0p1和p1p2,通过计算(p2 - p0) × (p1 - p0)的符号便可以确定折线段的拐向:
若(p2 - p0) × (p1 - p0) > 0,则p0p1在p1点拐向右侧后得到p1p2。
若(p2 - p0) × (p1 - p0) < 0,则p0p1在p1点拐向左侧后得到p1p2。
若(p2 - p0) × (p1 - p0) = 0,则p0、p1、p2三点共线。
然后跑一边所有点就行了。。
|
Hust oj 1642 多边形-1(叉乘)
最新推荐文章于 2023-02-13 23:15:27 发布