#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cstring>
#include<vector>
#include<queue>
#include<map>
#include<set>
using namespace std;
int main()
{
int n,i,a[222],b[222];
double sum;
while(scanf("%d",&n)&&n)
{
for(i=0;i<n;i++)
scanf("%d%d",a+i,b+i);
a[n]=a[0];b[n]=b[0];//形成闭合
sum=0;
//s=1/2*(x2-x1)*(y3-y1)-(y2*y1)*(x3-x1)
//下面x1=0,x2=0以原点分割;
//逆时针算出的是正面积 顺时针是负面积
for(i=1;i<=n;i++)
sum+=a[i-1]*b[i]-a[i]*b[i-1];
printf("%1.1f\n",sum/2);
}
}
hdu 2036 计算几何求面积
最新推荐文章于 2019-09-22 21:01:00 发布