Cod sursa(job #2631561)

Utilizator cyg_vladioanBirsan Vlad cyg_vladioan Data 30 iunie 2020 14:26:16
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <cstdio>
#include <iomanip>
using namespace std;
struct POINT
{
    double x , y;
};
POINT P[100005];
double cp(POINT P1 , POINT P2 , POINT P3)
{
    return (P2.x - P1.x) * (P3.y - P2.y) - (P2.y - P1.y) * (P3.x - P2.x);
}
int main()
{
    freopen("aria.in" , "r" , stdin);
    freopen("aria.out" , "w" , stdout);
    int n , i;
    double tx , ty , arie = 0.0;
    scanf("%d" , &n);
    for(i = 1 ; i <= n ; i ++)
    {
        scanf("%lf%lf" , &tx , &ty);
        P[i].x = tx;
        P[i].y = ty;
    }
    P[n + 1] = P[1];
    for(i = 2 ; i <= n + 1 ; i ++)
        arie = arie + 0.5 * cp(P[0] , P[i - 1] , P[i]);
    printf("%.6lf\n" , arie);
    return 0;
}