Cod sursa(job #1841034)

Utilizator MithrilBratu Andrei Mithril Data 5 ianuarie 2017 10:05:56
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("aria.in");
ofstream fout("aria.out");
struct Wow{double x,y;}puncte[100010];
int n;
long double aria;
inline double getArie(Wow, Wow, Wow);

int main()
{
    Wow O{0,0};
    fin>>n;
    for(int i=1;i<=n;i+=1) fin>>puncte[i].x>>puncte[i].y;
    puncte[n+1]=puncte[1];
    for(int i=1;i<=n;i+=1) aria+=getArie(O,puncte[i],puncte[i+1]);
    aria=abs(aria)/2.0;
    fout<<fixed<<setprecision(6)<<aria;
    return 0;
}

inline double getArie(Wow a, Wow b, Wow c){return (a.x*b.y)+(b.x*c.y)+(a.y*c.x)-(b.y*c.x)-(a.x*c.y)-(a.y*b.x);}