凸包问题模板

[复制链接]
查看11 | 回复0 | 2021-1-27 05:21:01 | 显示全部楼层 |阅读模式
#include
#include
#include
#include
usingnamespacestd;
typedefstruct
{
doublex,y;
}Point;
Pointpoint[1001],stack[1001];
intn,top;
doublel;
doubleMulti(Pointp0,Pointp1,Pointp2)
{
return((p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y));
}
doubleDis(Pointp1,Pointp2)
{
returnsqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
}
intcmp(Pointa,Pointb)
{
if(Multi(point[0],a,b)>0)return1;//相对p0来说,pj的极角大于pi的极角,pi先被扫描
if(Multi(point[0],a,b) -->
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行