poj3348
来源:互联网 发布:securecrt mac破解版 编辑:程序博客网 时间:2024/06/01 09:09
#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>#define eps 1e-8#define MAX 1000using namespace std;int n,stack[MAX];struct wbysr_point{int x,y;}a[MAX];bool cmp(wbysr_point a1,wbysr_point a2){if(a1.x!=a2.x)return a1.x<a2.x;elsereturn a1.y<a2.y;}double cross(wbysr_point a1,wbysr_point a2,wbysr_point a3) { return(a1.x-a3.x)*(a2.y-a3.y)-(a2.x-a3.x)*(a1.y-a3.y); }bool cmp2(int a1,int a2){return a[a1].x<a[a2].x;}double crossx(wbysr_point a1,wbysr_point a2){return a1.x*a2.y-a1.y*a2.x;}int main(){scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d%d",&a[i].x,&a[i].y);sort(a+1,a+n+1,cmp);//for(int i=1;i<=n;i++)//printf("%d %d %d \n",i,a[i].x,a[i].y);int stack_num=0;for(int i=1;i<=n;i++){while(cross(a[stack[stack_num]],a[i],a[stack[stack_num-1]])<=0&&stack_num>1)stack_num--;stack[++stack_num]=i;}int len=stack_num;//for(int i=1;i<=len;i++)//printf("%d\n",stack[i]);//printf("\n");for(int i=n-1;i>=1;i--){while(stack_num>len&&cross(a[stack[stack_num]],a[i],a[stack[stack_num-1]])<=0)stack_num--;stack[++stack_num]=i;}if(n>1)stack_num--;//for(int i=0;i<stack_num;i++)//printf("%d %d\n",a[stack[i]].x,a[stack[i]].y);//sort(stack+1,stack+1+stack_num,cmp2);double ans=0;for(int i=1;i<=stack_num;i++)ans+=0.5*(cross(a[stack[i]],a[stack[i+1]],a[stack[0]]));//ans+=0.5*(a[stack[i]]-a[stack[0]],a[stack[i-1]]=a[stack[0]]);//printf("%.3lf\n",ans);int ans_=ans/50;//if(ans_*50>ans)//ans_--;//printf("\n");//printf("%.2lf\n",ans);printf("%d\n",ans_);return 0;}
求凸包的面积,调了一早晨。。。
0 0
- poj3348
- poj3348
- poj3348
- poj3348
- POJ3348-Cows
- Poj3348 Cows
- 【poj3348】 Cows
- poj3348 Cow
- poj3348 求凸包面积
- POJ3348--cows--凸包
- 求凸包面积:poj3348
- POJ3348——Cows
- POJ3348-凸包
- POJ3348 凸包面积计算
- [POJ3348]Cows(凸包)
- poj3348 Cows【凸包面积】
- poj3348-Cows 求凸包及其面积
- 【POJ3348】【计算几何】Cow 题解
- 谜题1:奇数性
- Asp.Net模拟域验证登录及密码修改
- 用C#对Active Directory进行增删修查的类源码
- 自动装箱和自动拆箱
- javaWEB项目性能调优
- poj3348
- 位域的操作
- Step By Step Mini Site Video Training
- HDU 2973 / UVa 1434 / CERC 2008 YAPTCHA (威尔逊定理及其逆定理)
- Android中如何使用WIFI来连接ADB
- 数据库分割
- C/C++/MFC 编译运行错误解决方法收集error
- Ajax -- 原理及简单示例
- Netty 学习(8)Netty Example Telnet