Cod sursa(job #2082038)
| Utilizator | Data | 5 decembrie 2017 17:15:54 | |
|---|---|---|---|
| Problema | Aria | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
#include <iomanip>
using namespace std;
struct point
{
double x;
double y;
};
int N;
point* P;
double A = 0;
void Read()
{
ifstream f("aria.in");
f>>N;
P = new point[N];
double x, y;
for (int i=0;i<N;i++)
{
f>>x>>y;
P[i] = {x, y};
}
}
void Area()
{
for (int i=0;i<N;i++)
{
A += (P[i].x*P[(i+1)%N].y - P[(i+1)%N].x*P[i].y)/2;
}
}
void Write()
{
ofstream g("aria.out");
g<<fixed<<setprecision(5)<<max(A, -A)<<'\n';
}
int main()
{
Read();
Area();
Write();
}
