嗯。。。首先明白一个东西,计算多边形面积
https://www.cnblogs.com/TenosDoIt/p/4047211.html
对于一个三角形abc,
Sabc=0.5*(ab×bc)
对于每相邻两个点和原点进行计算面积,然后进行几何运算
sum是整个图形的面积(按顺时针或者逆时针给点)
#include <bits/stdc++.h>
using namespace std;
struct Node{
double x,y;
}node[100004];
double s[100004];
double stof(Node a,Node b){
return (a.x*b.y-b.x*a.y)/2.0;
}
double maxx(double a,double b){
return a>b?a:b;
}
int n,q;
int main(){
while(cin>>n>>q){
memset(s,0,sizeof s);
for(int i=1;i<=n;i++){
cin>>node[i].x>>node[i].y;
if(i==1)continue;
s[i]=s[i-1]+stof(node[i],node[i-1]);
}int a,b;doub