Pagini recente » Cod sursa (job #1955756) | Cod sursa (job #1670588) | Cod sursa (job #2116216) | Cod sursa (job #2532462) | Cod sursa (job #2835125)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
const int NMAX = 100000;
int N;
struct elem
{
int x, y;
};
elem punct[NMAX + 5];
/*
0 0 1
x[i] y[i] 1
x[i + 1] y[i + 1] 1
det = x[i] * y[i + 1] - x[i + 1] * y[i]
*/
double arie(int a, int b, int c, int d)
{
double val = (double) (a * d - b * c);
val = val / (double) 2;
return val;
}
int main()
{
fin >> N;
for(int i = 1; i <= N; i ++)
{
fin >> punct[i].x >> punct[i].y;
}
punct[N + 1] = punct[1];
long double ans = 0.0;
for(int i = 1; i <= N; i ++)
{
ans += arie(punct[i].x, punct[i].y, punct[i + 1].x, punct[i + 1].y);
}
fout << fixed << setprecision(6) << ans << '\n';
}