Cod sursa(job #2568104)

Utilizator stefan_creastaStefan Creasta stefan_creasta Data 3 martie 2020 20:55:04
Problema Aria Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <cmath>
using namespace std;
const int NMAX = 100005;
struct Punct {
    float x, y;
};
Punct v[NMAX];
Punct init;
float aflare_arie(Punct a, Punct b, Punct c) {
    return ((a.x - b.x) * (a.y - c.y) - (a.y - b.y) * (a.x - c.x)) / 2;
}

int main() {
    int n;
    freopen("aria.in", "r", stdin);
    freopen("aria.out", "w", stdout);
    scanf("%d", &n);
    for(int i = 1; i <= n; i++) {
        scanf("%f%f", &v[i].x, &v[i].y);
    }
    v[n + 1] = v[1];
    init.x = init.y = 0;
    float sol = 0;
    for(int i = 1; i <= n; i++) {
        float solc = aflare_arie(init, v[i], v[i + 1]);
        sol += solc;
    }
    printf("%.5f\n", sol);
    return 0;
}