Cod sursa(job #3288689)

Utilizator hiken056Stefan Rusu hiken056 Data 23 martie 2025 16:56:16
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <bits/stdc++.h> 

using namespace std;

ifstream fin("aria.in");
ofstream fout("aria.out");

const int MAXN = 1e5 + 5;
struct Point {
    double x;
    double y;
} puncte[MAXN];

int N, x, y;
double aria;
//aria poligonului o putem afla prin triangularizarea acestuia
// iar apoi facem suma ariilor
// luam arbitrat punctul P(0, 0) cu care formam triunghiuri (P Ai Ai+1) (consideram si ca A1 = An+1)
// aria unui triunghi o sa fie 1/2(xi*yi+1 - yi*xi+1 )


int main() {

    fin >> N;
    for ( int i = 1; i <= N; ++ i) {
        fin >> puncte[i].x >> puncte[i].y;
    }
    for ( int i = 1; i <= N; ++ i ) {
        if ( i == N ) {
            aria += (puncte[1].x * puncte[i].y - puncte[i].x * puncte[1].y);    
        }
        else  aria += (puncte[i].x * puncte[i+1].y - puncte[i+1].x * puncte[i].y);
    }
    fout << aria;
}