您的位置:首页 > 其它

hdu 2036 改革春风吹满地

2014-03-24 12:05 267 查看
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2036

多边形面积公式S=0.5 *abs ( (x0*y1-x1*y0) + (x1*y2-x2*y1) + ... +(Xn-1*y0-x0*Yn-1))最后一个要注意加上

只有各点是逆时针排列才能这样做

#include<iostream>

#include<stdio.h>

#include<cmath>

using namespace std;

int main()

{

intx[100],y[100];

int n;

int i;

doublesum;

while(cin>>n)

{

if(!n)break;

sum=0;

scanf("%d%d",&x[0],&y[0]);

for(i=1;i<n;i++)

{

scanf("%d%d",&x[i],&y[i]);

sum+=(x[i-1]*y[i]-x[i]*y[i-1]);

}

sum+=(x[n-1]*y[0]-x[0]*y[n-1]);

printf("%.1lf\n",fabs(sum*1.0/2));

}

return0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: