Cod sursa(job #1569220)

Utilizator fromzerotoheroFROM ZERO fromzerotohero Data 15 ianuarie 2016 10:14:28
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <cmath>

#define nmax 100005

using namespace std;

struct point {
    double x, y;
} P[nmax];

int n;
double Aria;

int main()
{

    ifstream fi("aria.in");
    ofstream fo("aria.out");

    /*

    4
    -2 -2
    2 -2
    2 2
    -2 2

    */

    fi >> n;

    for (int i = 1; i <= n; i++)
        fi >> P[i].x >> P[i].y;

    P[n+1].x = P[1].x;
    P[n+1].y = P[1].y;

    Aria = 0;

    for (int i = 1; i <= n; i++)
        Aria += (P[i].y + P[i+1].y) * (P[i+1].x - P[i].x);

    Aria /= 2;

    fo << fixed;
    fo << setprecision(5) << abs(Aria) << "\n";

    fi.close();
    fo.close();

    return 0;
}