码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 3907 Build Your Home | 计算多边形面积

时间:2017-12-07 17:26:42      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:rhs   bsp   inline   div   double   poi   cpp   point   str   

给个多边形

计算面积

输出要四舍五入


直接用向量叉乘就好

四舍五入可以+0.5向下取整

#include<cstdio>
#include<algorithm>
#include<cstring>
#define N 10005
#define eps 1e-8
using namespace std;
struct point
{
    double x,y;
    inline double operator *(const point &rhs) const
	{
	    return x*rhs.y-y*rhs.x;
	}
}po[N];
int n;
double S;
double abs(double x)
{
    return x>0?x:-x;
}
double calc()
{
    double ret=0;
    for (int i=1;i<=n;i++)
	ret+=po[i]*po[i+1];
    return abs(ret/2)+0.5;
}
int main()
{
    while (scanf("%d",&n)!=EOF && n)
    {
	for (int i=1;i<=n;i++)
	    scanf("%lf%lf",&po[i].x,&po[i].y);
	po[n+1]=po[1];
	printf("%d\n",(int)calc());
    }
    return 0;
}

 

POJ 3907 Build Your Home | 计算多边形面积

标签:rhs   bsp   inline   div   double   poi   cpp   point   str   

原文地址:http://www.cnblogs.com/mrsheep/p/7999544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!