Pagini recente » Cod sursa (job #6804) | Cod sursa (job #1142055) | Cod sursa (job #429289) | Cod sursa (job #807649) | Cod sursa (job #3219591)
#include <fstream>
#include <iomanip>
#include <cmath>
using namespace std;
ifstream cin("aria.in");
ofstream cout("aria.out");
struct pct{
long double x, y;
};
const int N = 1e5 + 5;
pct v[N];
long double det(long double x1, long double y1, long double x2, long double y2){
return x1 * y2 - x2 * y1;
}
int main()
{
cin.tie(nullptr);
int n;
cin >> n;
if(n < 3){
cout << 0;
return 0;
}
long double sum = 0;
for(int i = 0; i < n; i++)
cin >> v[i].x >> v[i].y;
v[n] = v[0];
for(int i = 0; i < n; i++)
sum += det(v[i].x, v[i].y, v[i + 1].x, v[i + 1].y) / 2.0;
if(sum < 0)
sum = -sum;
cout << fixed << setprecision(10) << sum;
return 0;
}