HDU2036 多边形面积
2013-03-16 15:47
169 查看
题意:求多边形面积。
首先 对于两个向量 P,Q。P * Q = 1/2*area;
以原点作为每条向量边的起始点,然后在遍历一遍所有的点,得到res
这样在算面积的时候 多余的部分会在计算过程中 正负抵消 so 能得到sum_area
View Code
首先 对于两个向量 P,Q。P * Q = 1/2*area;
以原点作为每条向量边的起始点,然后在遍历一遍所有的点,得到res
这样在算面积的时候 多余的部分会在计算过程中 正负抵消 so 能得到sum_area
View Code
#include<stdio.h> #include<math.h> const int maxn = 105; int n; struct node{ int x,y; }a[ maxn ]; double cross( node a,node b ){ return 1.0*a.x*b.y-1.0*a.y*b.x; } double get_area( ){ double res=0; res=cross( a[ n-1 ],a[ 0 ] ); for( int i=1;i<n;i++ ) res+=( cross( a[ i-1 ],a[ i ] ) ); return res/2.0; } int main(){ while( scanf("%d",&n),n ){ for( int i=0;i<n;i++ ){ scanf("%d%d",&a[ i ].x,&a[ i ].y); } double sum=get_area( ); printf("%.1lf\n",sum); } return 0; }
相关文章推荐
- HDU2036_改革春风照大地_点求多边形面积
- hdu2036 求多边形面积
- hdu2036改革春风吹满地(多边形面积)
- 多边形(n边形)面积计算公式hdu2036
- hdu2036 计算坐标内任意多边形的面积 含凹凸
- 多边形(n边形)面积计算公式hdu2036
- HDU2036 多边形面积模板
- hdu2036 改革春风吹满地 (求多边形面积,叉积)
- Hdu2036-求多边形面积
- 求多边形面积(如HDU2036)
- HDU2036 计算多边形的面积
- hdu2036(多边形面积)
- hdu2036 求多边形面积
- hdu2036 求多边形面积(向量叉乘)
- HDU2036 多边形面积模板
- 利用向量积(叉积)计算三角形的面积和多边形的面积(hdu2036)
- HDU2036-改革春风吹满地(简单多边形的面积)
- hdu2036 (计算多边形的面积)
- 计算多边形面积hdu2036
- HDU2036 改革春风吹满地【多边形面积】