传送门

题意

顺时针或逆时针给出多边形的顶点,求该多边形的面积

分析

很基础……

利用叉积的性质,每次选择相邻的两个点做叉积,把答案累加起来

由于方向的问题,最后要取一个绝对值

又因为叉积算的是平行四边形的面积,所以还要除以2

还有感谢zxy大佬Orz,我的神仙级错误又被他完美的debug掉。我居然把_y打成了-y????心态爆炸

代码

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
using namespace std;
struct point {double x,y;point(){}point(double _x,double _y):x(_x),y(_y){   };//sbsbsbsbsbsbsbsbsb居然把_y打成了-y friend inline point operator +(const point &a,const point &b){return point(a.x+b.x,a.y+b.y);}friend inline point operator -(const point &a,const point &b){return point(a.x-b.x,a.y-b.y);}friend inline point operator *(double k,const point &a){return point(a.x*k,a.y*k);}friend inline double dot(const point &a,const point &b){return a.x*b.x+a.y*b.y;}friend inline double cross(const point &a,const point &b){return a.x*b.y-b.x*a.y;}friend inline double len(const point &a){return sqrt(dot(a,a));}friend inline double dis(const point &a,const point &b){return len(a-b);}
}a[10009],S;
int n;
int main(){while(1){S.x=0.0;S.y=0.0;scanf("%d",&n);if(n==0) break;int i,j,k;for(i=1;i<=n;++i)scanf("%lf%lf",&a[i].x,&a[i].y);if(n==1||n==2){printf("0\n");continue;}//记着先把数据读完!再判断 double res=0;for(i=1;i<=n;++i){int j=i+1;if(j>n) j=1;res+=cross(a[i]-S,a[j]-S);}printf("%.0f\n",fabs(res/2.0));}return 0;
}

1015 - 计算几何之多边形的面积 - Build Your Home(POJ 3907)相关推荐

  1. POJ3348 Cows【凸包+多边形求面积】

    POJ3348Cows 凸包+多边形求面积 个人分类: 计算几何凸包 Language: Default Cows Time Limit: 2000MS   Memory Limit: 65536K ...

  2. C++ 计算多边形的面积,计算IOU

    //求任意多边形的面积 /*语法:result = polygonarea(vector<Point>&polygon, int N); 参数: polygon:多变形顶点数组 N ...

  3. 【计算几何】圆的面积并

    总之,圆的面积并是一个非常漂亮的算法,虽然说好像没有很强的扩展性以及实用性,但确实训练自己计算几何代码能力的好题目. 一下皆蒯自栗师<圆的并>解题报告: 试想,如果人来做此题,而不使用计算 ...

  4. 洛谷——P1183 多边形的面积

    P1183 多边形的面积 多边形求面积公式: $\frac {\sum_{i=0}^{n-1}(x_iy_{i+1}-y_ix_{i+1})}{2}$ #include<bits/stdc++. ...

  5. 转:求多边形的面积 算法几何

    我还是简单解释一下,如果是没有读过高等数学的朋友,也让你大致明白. 定积分的本质是求和,计算f(x)在积分区间[a,b]上的一个和S,首先把积分区间分成n份,这样的分法记为λ,记Δ(λ)=max{Δx ...

  6. 凸多边形面积_C++计算任意多边形的面积

    任意多边形的面积计算_拾忆楓灵的博客-CSDN博客​blog.csdn.net 计算任意多边形的面积 - tenos - 博客园​www.cnblogs.com 完美解决计算3D空间任意多边形面积_S ...

  7. 洛谷 P1183 多边形的面积

    P1183 多边形的面积 题目描述 给出一个简单多边形(没有缺口),它的边要么是垂直的,要么是水平的.要求计算多边形的面积. 多边形被放置在一个 X-YX−Y 的卡笛尔平面上,它所有的边都平行于两条坐 ...

  8. python计算多边形的面积并保留两位小数_计算任意多边形面积的Python实现

    最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, -, vn-1},则多边形的边为E={, , ,...,, }.要求输 ...

  9. 任意多边形的面积(C语言)

    [问题描述] 给出平面上一组顶点的坐标,计算出它们所围成的凸多边形的面积. [输入形式] 从标准输入读取顶点坐标.格式为:第一行是点的个数N(3<N<15),后面紧接着N行,每行两个数字 ...

最新文章

  1. Permission denied: make_sock: could not bind to address [::]:81 Apache 虚拟主机
  2. Altium Designer修改3D视图时PCB板的颜色
  3. C# winform自己实现Windows消息处理
  4. java 逗号运算符_Java 运算符
  5. VTK修炼之道59:图形基本操作进阶_纹理映射
  6. 罗永浩欲直播带货,京东说可以帮忙联系
  7. linux mtime参数,linux find mtime参数详解
  8. HTML - 文本及其格式化
  9. Python零基础学习笔记(三十九)—— time
  10. 如何防止135端口入侵
  11. echarts制作3d柱形图
  12. 计算机内存空间为何不能无限扩容,空间是否可以无限扩张?
  13. java+selenium——Navigate命令
  14. react 中样式写法
  15. 歌词欣赏《一程山水一程歌》
  16. 微信小程序-枯木学习笔记5-我的信息
  17. uni-app的介绍
  18. html页面比对插件,html页面缩放插件
  19. linux ftok()
  20. POI问题总结,关于数字级联及多级级联(三级以上)

热门文章

  1. 将npz文件转化为txt文件中出现错误(ValueError: Expected 1D or 2D array, got 3D array instead)的解决办法
  2. 什么是手游联运?做手游联运有哪些优势?
  3. 手机漏洞检测工具的分析
  4. Android播放器开源项目,github常用视频音频播放器
  5. 【无标题】java多线程分批同步数据设计与实现(转载)
  6. STEP文件格式(*.step, *.stp)是什么软件。怎样打开
  7. STM32相关知识——u8是什么意思?
  8. 酒店点餐系统开发详解(五)
  9. 我的软件推广成功之路
  10. 总结一下,什么是鸿蒙?