Cod sursa(job #2094069)
Utilizator | Data | 24 decembrie 2017 23:58:13 | |
---|---|---|---|
Problema | Aria | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");
#define NMAX 100005
int N, i;
double sol;
struct punct
{
double x,y;
}v[NMAX];
const punct ct = {0,0};
double det(punct A,punct B,punct C=ct)
{
return (A.x-C.x)*(B.y-C.y)-(B.x-C.x)*(A.y-C.y);
}
int main()
{
f >> N;
for(i = 0 ; i < N ; ++i)
f >> v[i].x >> v[i].y;
v[N] = v[0];
for(i = 0 ; i < N ; ++i)
sol += det(v[i], v[i+1]);
g << fabs(sol/2);
return 0;
}