Pagini recente » Cod sursa (job #193341) | Cod sursa (job #2415508)
#include <fstream>
#include <iomanip>
#define x first
#define y second
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
int N;
pair <long double, long double> v[100005];
long double area;
long double Mod(long double A)
{
return max(A, -A);
}
long double Det(pair <long double, long double> A, pair <long double, long double> B, pair <long double, long double> C)
{
return 0.5 * (B.x * A.y - A.x * B.y + C.x * B.y - B.x * C.y + A.x * C.y - C.x * A.y);
}
int main()
{
fin >> N;
for(int i = 1; i <= N; i++)
fin >> v[i].x >> v[i].y;
v[N + 1] = v[1];
for(int i = 1; i <= N; i++)
area += Det(v[1], v[i], v[i + 1]);
fout << fixed << setprecision(12) << Mod(area) << '\n';
return 0;
}