HDU 2036 改革春风吹满地
2014-10-10 00:02
295 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2036
题目大意:给出n个点,求出其围成多边形的面积
题目思路:利用叉乘将多边形分解成多个三角形,并逐一得计算其面积。两向量的叉乘模等于他所对应平行四边形的面积,也就是该三角形的面积。
代码:
题目大意:给出n个点,求出其围成多边形的面积
题目思路:利用叉乘将多边形分解成多个三角形,并逐一得计算其面积。两向量的叉乘模等于他所对应平行四边形的面积,也就是该三角形的面积。
代码:
#include<iostream> #include<cstdio> using namespace std; #define N 110 typedef struct{ double x,y; }Point; double Judge(double x1,double y1,double x2,double y2){ if((x1*y2-x2*y1)<0) return (x1*y2-x2*y1)/2; return (x1*y2-x2*y1)/2; } Point p ; int main(){ int n; while(scanf("%d",&n)&&n){ for(int i=0;i<n;i++){ scanf("%lf%lf",&p[i].x,&p[i].y); } double area=0; for(int i=1;i<n-1;i++){ area+=Judge(p[(i)%n].x-p[0].x, p[(i)%n].y-p[0].y, p[(i+1)%n].x-p[0].x, p[(i+1)%n].y-p[0].y); } printf("%.1lf\n",area); } return 0; }
相关文章推荐
- hdu_2036 改革春风吹满地(多边形面积)
- HDU--2036--改革春风吹满地(叉积求凸多边形面积)
- hdu 2036 改革春风吹满地
- hdu 2036 改革春风吹满地
- 【HDU 2036】改革春风吹满地
- HDU 2036 改革春风吹满地
- 求任意多边形的面积&HDU-2036 改革春风吹满地
- hdu 2036 - 改革春风吹满地(计算几何)
- HDU 2036 改革春风吹满地(计算几何)
- HDU 2036 改革春风吹满地
- HDU 2036 改革春风吹满地
- 数学 HDU 2036 改革春风吹满地
- HDU 2036 改革春风吹满地
- HDU 2036 - 改革春风吹满地
- HDU 2036 改革春风吹满地
- HDU 2036 改革春风吹满地 数学题
- [HDU 2036]改革春风吹满地
- HDU_ACM-2036 改革春风吹满地
- HDU 2036 改革春风吹满地
- hdu-oj 2036 改革春风吹满地(多边形面积)