Cod sursa(job #2366391)

Utilizator bodea.georgianaBodea Georgiana bodea.georgiana Data 4 martie 2019 19:53:24
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <cstdio>
#define N 100005
#include <fstream>
#include <iomanip>

using namespace std;

struct bla
{
    long double x,y;
}p[N];

long double det(bla a, bla b)
{
    long double x1=a.x, x2=b.x, y1=a.y, y2=b.y;
    return (x1*y2-x2*y1);
}
int main()
{
    ifstream f("aria.in");
    ofstream g("aria.out");
    int n;
    f>>n;
    for(int i=1;i<=n;++i)
        f>>p[i].x>>p[i].y;
///ATENTIE, punctele sunt datae in ordine trigonometrica
    p[n+1]={p[1].x,p[1].y};
    double arie=0;
///nu folosim modul pt ca ariile negative vor "anula" zonele
///corespunzătoare ariilor pozitive care se află în afara poligonului
    for(int i=1;i<=n;++i)
        arie+=det(p[i],p[i+1]);
    g<<fixed<<setprecision(5)<<arie/2;
    return 0;
}