博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 10173 Smallest Bounding Rectangle(最小外接矩形)
阅读量:6409 次
发布时间:2019-06-23

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

题目链接:

题意:求多边形最小外接矩形。

思路:模板。

#include 
#include
#include
#include
#define min(x,y) ((x)<(y)?(x):(y))using namespace std;struct point{ double x,y; point(){} point(double _x,double _y) { x=_x; y=_y; } void get() { scanf("%lf%lf",&x,&y); }};const double EPS=1e-8;const int MAX=1005;point p[MAX],q[MAX],temp;int n,m;int DB(double x){ if(x>EPS) return 1; if(x<-EPS) return -1; return 0;}double Dis(point a,point b){ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}//判断p在向量ab的哪一侧//右侧:返回正值//左侧:返回负值//在向量ab上返回0double cross(point a,point b,point p){ return (b.x-a.x)*(p.y-a.y)-(b.y-a.y)*(p.x-a.x);}int cmp(point a,point b){ double x=Dis(a,temp),y=Dis(b,temp); int flag=DB(cross(temp,a,b)); if(flag) return flag==1; return DB(x-y)<=0;}void Graham(point p[],int n,point q[],int &m){ point t; int i,k=0,a,b; for(i=1;i
1&&DB(cross(q[m-2],q[m-1],p[i]))<=0) m--; q[m++]=p[i]; } m--;}//向量点乘//ab*acdouble dot(point a,point b,point c){ return (c.x-a.x)*(b.x-a.x)+(c.y-a.y)*(b.y-a.y);}double calMinRect(point pt[],int n){ if(n<3) return 0; int i,p=1,q=1,r; double ans=1e10,a,b,c; for(i=0;i
0) break; r=(r+1)%n; } a=cross(pt[i],pt[i+1],pt[p]); b=dot(pt[i],pt[i+1],pt[q])-dot(pt[i],pt[i+1],pt[r]); c=dot(pt[i],pt[i+1],pt[i+1]); ans=min(ans,a*b/c); } return ans;}int main(){ while(scanf("%d",&n),n) { int i; for(i=0;i

 

转载于:https://www.cnblogs.com/jianglangcaijin/archive/2012/10/31/2748829.html

你可能感兴趣的文章
分享Silverlight新鲜事 - Silverlight Firestarter全球会议
查看>>
产品设计体会(3013)项目的“敏捷沟通”实践
查看>>
RHEL6.3基本网络配置(1)ifconfig命令
查看>>
网络诊断工具之—路由追踪tracert命令
查看>>
Java模拟HTTP的Get和Post请求(增强)
查看>>
得到INSERT和UPDATE中使用的值
查看>>
php 环境搭建(windows php+apache)
查看>>
让虚拟机的软盘盘符不显示(适用于所有windows系统包括Windows Server)
查看>>
Cygwin不好用
查看>>
jQuery插件之验证控件jquery.validate.js
查看>>
[经验]无线鼠标和无线键盘真的不能用了?——雷柏的重生之路~
查看>>
【转】plist涉及到沙盒的一个问题
查看>>
GNU make manual 翻译( 一百四十五)
查看>>
重构之美-走在Web标准化设计的路上[复杂表单]3 9 Update
查看>>
linux中的优先搜索树的实现--prio_tree【转】
查看>>
转载: 打造自己的asp.net验证控件
查看>>
重构之美-跨越Web标准,触碰语义网[开门见山:Microformat]
查看>>
git入门与实践【转】
查看>>
Microsoft Has Open Sourced the Common Compiler Infrastructure
查看>>
WPF 虚拟键盘
查看>>