Cod sursa(job #1528303)

Utilizator robx12lnLinca Robert robx12ln Data 19 noiembrie 2015 14:15:00
Problema Aria Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>
#include<iomanip>
#define x first
#define y second
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
int n;
double aria;
pair<double,double> v[100005];
double A( pair<double,double> a, pair<double,double> b, pair<double,double> c ){
    return ( (c.x - a.x) * (b.y - a.y) - (b.x - a.x) * ( c.y - a.y ) )/2;
}
int main(){
    fin >> n;
    for( int i  = 1; i <= n; i++ ){
        fin>> v[i].x >> v[i].y ;
    }
    n++;
    v[n] = v[1];
    v[0].x = -1000005;
    v[0].y = -1000005;
    aria = 0;
    for( int i = 1; i <= n - 1; i++ ){
        aria += A( v[0], v[i], v[i+1] );
    }
    if( aria < 0){
        aria = 0 - aria;
    }
    fout<< aria << setprecision(5) << fixed ;
    return 0;
}