Click
Here to go back to the homepage.
Convex Polygon Area Solution:
#include <bits/stdc++.h>
using namespace std;
int main(){
// #ifndef TESTING
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
// #endif
int polygons;
cin >> polygons;
while(polygons--){
int vertices;
cin >> vertices;
int currx, curry, originalx, originaly, sum = 0;
cin >> currx >> curry;
originalx = currx;
originaly = curry;
while(--vertices){
int tempx, tempy;
cin >> tempx >> tempy;
sum += currx * tempy - curry * tempx;
currx = tempx;
curry = tempy;
}
sum += currx * originaly - curry * originalx;
cout << abs(sum / 2.0) << endl;
}
return 0;
}