多边形的面积求法

来源:互联网 发布:shell编程能做什么 编辑:程序博客网 时间:2024/04/30 11:14

用向量叉积求:

#include<bits/stdc++.h>using namespace std;using LL = int64_t;const int INF = 0x3f3f3f3f;struct Node {    double x,y;}node[105];int T;double get_aera(Node a,Node b,Node c) {    return ((a.x-b.x)*(a.y-c.y)-(a.x-c.x)*(a.y-b.y))/2;}double sum() {    double sum=0;    for(int i=1;i<T-1;i++) {        sum+=get_aera(node[0],node[i],node[i+1]);    }    return sum;}int main(){    cin>>T;    for(int i=0;i<T;i++) cin>>node[i].x>>node[i].y;    cout<<sum()<<endl;    return 0;}
原创粉丝点击