Cod sursa(job #1992086)

Utilizator Mihai_PredaPreda Mihai Dragos Mihai_Preda Data 19 iunie 2017 12:59:25
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

struct Punct
{
    long double x, y;
};

const int nMax = 100005;

int n;
Punct v[nMax];
long double rasp = 0;

void citire()
{
    ifstream in("aria.in");
    in >> n;
    for(int i = 0; i < n; ++i)
        in >> v[i].x >> v[i].y;
    in.close();
}

inline long double cross_product(const Punct &p1, const Punct &p2)
{
    return p1.x * p2.y - p1.y * p2.x;
}

void rezolvare()
{
    for(int i = 0; i < n; ++i)
        rasp += cross_product(v[i], v[(i+1) % n]) / 2;
}

void afisare()
{
    ofstream out("aria.out");
    out << fixed << setprecision(8) << rasp;
    out.close();
}

int main()
{
    citire();
    rezolvare();
    afisare();
    return 0;
}