#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
#include<bits/stdc++.h>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<iomanip>
#include <cmath>
#include <math.h>
#include <iostream>
#include <vector>
void acc_ios()
{
ios::sync_with_stdio();
cin.tie(0);
}
struct node
{
double i,j;
bool operator <(const node &a)
{
if(i!=a.i)
return i < a.i;
return j<a.j;
}
};
double cross(node a,node b,node c)
{
return (a.i-c.i)*(b.j-c.j)-(a.j-c.j)*(b.i-c.i);
}
node a[1010];
int main()
{
acc_ios();
int t;
cin>>t;
double ans = 0;
while(t--)
{
int n;
double suma =0;
cin>>n;
for(int i=0;i < n; i++ )
{
cin>>a[i].i>>a[i].j;
}
a[n]=a[0];
for(int i=1;i<n-1;i++)
{
suma+=cross(a[i],a[i+1],a[0]);
}
suma=fabs(suma);
ans+=suma/2;
}
cout<<(ll)floor(ans)<<endl;
return 0;
}
求多边形的面积-全部是顶点的情况
最新推荐文章于 2020-07-22 17:44:51 发布