博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1392
阅读量:4948 次
发布时间:2019-06-11

本文共 1216 字,大约阅读时间需要 4 分钟。

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 using namespace std;17 typedef long long ll;18 typedef unsigned long long ull;19 20 struct P21 {22 int x,y;23 };24 25 26 const int maxn=50050;27 int n,k;28 P ps[maxn];29 30 bool cmp(const P& p,const P& q)31 {32 if(p.x!=q.x)33 return p.x
convex_hull(P* ps,int n)43 {44 sort(ps,ps+n,cmp);45 k=0;46 vector

qs(n*2);47 for(int i=0;i

1 && cross(qs[k-2],qs[k-1],ps[i])<=0)49 k--;50 qs[k++]=ps[i];51 }52 for(int i=n-2,t=k;i>=0;i--){53 while(k>t && cross(qs[k-2],qs[k-1],ps[i])<=0)54 k--;55 qs[k++]=ps[i];56 }57 k--;58 qs.resize(k);59 return qs;60 }61 62 double dis(P p,P q)63 {64 double dist=(p.x-q.x)*(p.x-q.x)+(p.y-q.y)*(p.y-q.y);65 return sqrt(dist);66 }67 68 69 int main()70 {71 while(~scanf("%d",&n)){72 if(n==0)73 return 0;74 for(int i=0;i
qs=convex_hull(ps,n);77 double ans=0;78 if(k==0||k==1)79 printf("0\n");80 else if(k==2)81 printf("%.2lf\n",dis(qs[0],qs[1]));82 else{83 for(int i=0;i

 

转载于:https://www.cnblogs.com/ooozy/p/6273776.html

你可能感兴趣的文章
java8 四大核心函数式接口Function、Consumer、Supplier、Predicate
查看>>
iOS 图片加载速度极限优化—FastImageCache解析
查看>>
类的声明和使用
查看>>
bzoj3196: Tyvj 1730 二逼平衡树
查看>>
CSS基础学习 20.CSS媒体查询
查看>>
软件测试分类
查看>>
Eureka
查看>>
H5 页面调试小帮手-UC 开发者工具
查看>>
Unicode与UTF-8互转(C语言实现)【转】
查看>>
怎么快速对DB里的所有email进行校验
查看>>
SQL日期比较
查看>>
JavaScript全面学习(node.js)
查看>>
I/O模式总结
查看>>
2019春季第十一周作业
查看>>
洛谷P4591 [TJOI2018]碱基序列 【KMP + dp】
查看>>
iOS CoreData介绍和使用(以及一些注意事项)
查看>>
OS笔记047代理传值和block传值
查看>>
Android应用程序与SurfaceFlinger服务的连接过程分析
查看>>
coco2dx服务器简单例子
查看>>
Java回顾之多线程
查看>>