Cod sursa(job #1116600)

Utilizator AlexandruValeanuAlexandru Valeanu AlexandruValeanu Data 22 februarie 2014 18:13:50
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>

using namespace std;

const int Nmax = 100002;

struct Point
{
    long double x, y;

    Point(){}
    Point( long double _x, long double _y ) : x( _x ), y( _y ) {}

    friend istream& operator >> ( istream &f, Point &P )
    {
        f >> P.x >> P.y;
        return f;
    }
};

Point v[Nmax];
int N;

int main()
{
    ifstream f("aria.in");
    ofstream g("aria.out");

    f >> N;

    for ( int i = 1; i <= N; ++i )
    {
        f >> v[i];
    }

    v[N + 1] = v[1];

    long double A = 0;

    for ( int i = 1; i <= N; ++i )
    {
        A += v[i].x * ( v[i + 1].y - v[i].y );
    }

    g << fixed << setprecision( 10 );
    g << abs( A / 2.0 ) << "\n";

    return 0;
}