uva 5108
来源:互联网 发布:电视剧数据上海一家人 编辑:程序博客网 时间:2024/05/17 03:34
题目:点我看题目
题意:给出一个凸多边形每次询问给出两点要求此两点的连线将此多边形分分割的两个部分面积的最小值
#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<list>#include<vector>using namespace std;const int maxn=50010;struct Node{double x,y;}A[maxn];double sum[maxn];int main(){int n,i,j,k,a,b,q;bool falg=false;while(scanf("%d%d",&n,&q),n||q){if(falg)printf("\n");falg=true;sum[0]=0.0;for(i=0;i<n;++i){scanf("%lf%lf",&A[i].x,&A[i].y);}double ans=0;for(i=0;i<n;++i){ans=ans+(A[i].x*A[(i+1)%n].y-A[i].y*A[(i+1)%n].x);sum[i+1]=sum[i]+(A[i].x*A[(i+1)%n].y-A[i].y*A[(i+1)%n].x);}ans=fabs(ans/2.0);while(q--){scanf("%d%d",&a,&b);double area=sum[b]-sum[a];area=area+(A[b].x*A[a].y-A[b].y*A[a].x);area=fabs(area/2.0);printf("%.1lf\n",min(area,ans-area));}}return 0;}
0 0
- uva 5108
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- 【C语言】统计字符数
- Java 8简明教程
- HTTP协议之multipart/form-data请求分析
- 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念
- 硬件相关基础知识2(NOR Flash和NAND Flash的区别)
- uva 5108
- Swift 中的引用类型与值类型
- GCD
- Java数组基础
- Spark算子-RDD Action(saveAsNewAPIHadoopFile)
- 【Linux开发】linux设备驱动归纳总结(三):1.字符型设备之设备申请
- 各种排序算法的比较
- View测量机制详解—从DecorView说起
- centos开机自动启动网络