Mai intai trebuie sa te autentifici.
Cod sursa(job #2863955)
| Utilizator | Data | 7 martie 2022 14:06:24 | |
|---|---|---|---|
| Problema | Aria | Scor | 70 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.76 kb |
#include <iostream>
#include <fstream>
#include <cmath>
#include <iomanip>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
struct punct{
double x;
double y;
}a[100001];
int n;
double arie;
double determinant(punct a, punct b, punct c)
{
return (c.y - a.x) * (b.x - a.x) - (c.x - a.x) * (b.y - a.y);
}
void citire()
{
fin >> n;
for(int i = 0; i < n; ++i)
fin >> a[i].x >> a[i].y;
}
int main()
{
punct o;
o.x = 0;
o.y = 0;
citire();
for(int i = 0; i < n - 1; ++i)
{
double d = determinant(o, a[i], a[i + 1]);
arie += d;
}
arie += determinant(o, a[n - 1], a[0]);
fout << setprecision(5) << fixed << arie / 2;
return 0;
}
