Cod sursa(job #3308723)

Utilizator InformaticianInDevenire1Munteanu Mihnea Gabriel InformaticianInDevenire1 Data 27 august 2025 17:30:39
Problema Aria Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <bits/stdc++.h>
#define double long double
#define int long long

using namespace std;

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

struct Point{
    double x,y;
}v[1005];

double Find_Determinant(Point a,Point b,Point c){
    return (a.x*b.y)+(b.x*c.y)+(c.x*a.y)-(c.x*b.y)-(b.x*a.y)-(a.x*c.y);
}

double Arie_Cu_Semn(Point a,Point b,Point c){
    return Find_Determinant(a,b,c)/2;
}

double Arie_Poligon(int n){
    Point a;
    a.x = a.y = 0;
    double ans = 0;
    for (int i=1;i<n;++i){
        ans += Arie_Cu_Semn(a,v[i],v[i+1]);
    }
    ans += Arie_Cu_Semn(a,v[n],v[1]);
    return abs(ans);
}

signed main()
{
    int n;
    fin >> n;
    for (int i=1;i<=n;++i){
        fin >> v[i].x >> v[i].y;
    }
    fout << setprecision(5) << fixed << Arie_Poligon(n);
    return 0;
}