HDOJ 2306:改革春风吹满地 叉积求面积

来源:互联网 发布:linux nginx 启动 编辑:程序博客网 时间:2024/04/27 19:16

    题目URL:http://acm.hdu.edu.cn/showproblem.php?pid=2036

    题目也没说是凸多边形还是凹多边形,糊里糊涂就A了。

    思路是把一个N边形切割成N-2个三角形,然后用向量叉积求三角形的面积。

    我的AC代码:

   

#include<iostream>#include<stdio.h> using namespace std;int main(){int x[3], y[3], p;double sum;while(scanf("%d", &p) && p){sum = 0;scanf("%d%d", &x[0], &y[0]);scanf("%d%d", &x[1], &y[1]);x[1] -= x[0], y[1] -= y[0];for(int i=2; i<p; i++){scanf("%d%d", &x[2], &y[2]);x[2] -= x[0], y[2] -= y[0];sum += (x[1]*y[2] - y[1]*x[2])/2.0;x[1] = x[2], y[1] = y[2];}printf("%.1lf\n", sum);}system("pause");return 0;}



原创粉丝点击