Cod sursa(job #1420568)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 18 aprilie 2015 18:32:43
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
// Arie poligon oarecare - O(N)

#include <fstream>
#include <cmath>
#define Nmax 100099
using namespace std;
ifstream f("aria.in");
ofstream g("aria.out");

int N;
struct point{long double x,y;}P[Nmax];

/* arie poligin pt are varfurile sunt date in ordine trig */
long double Arie(point P[Nmax]) {
    long double sum = 0.0;

    for (int i = 1; i <= N; ++i)
        sum += (P[i].x * P[i+1].y - P[i+1].x * P[i].y);
    sum *= 0.5;
    return fabs(sum);
}

int main() {
    f >> N;
    for (int i = 1; i <= N; ++i) f >> P[i].x >> P[i].y;
    P[N+1] = P[1]; /* inchide poligonul */

    g.precision(5);
    g<<fixed<<Arie(P)<<'\n';
    
    f.close();g.close();
    return 0;
}