Cod sursa(job #2084694)
Utilizator | Data | 9 decembrie 2017 11:30:58 | |
---|---|---|---|
Problema | Aria | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int NMax = 100005;
struct pct
{
double x,y;
}v[NMax];
double Arie(pct a, pct b)
{
return a.x * b.y - b.x * a.y;
}
int main()
{
ifstream fin("aria.in");
ofstream fout("aria.out");
int n;
fin >> n;
for(int i=1; i<=n; ++i)
{
fin >> v[i].x >> v[i].y;
}
v[n+1].x = v[1].x;
v[n+1].y = v[1].y;
double arie = 0;
for(int i=1; i<=n; ++i)
arie += (double)Arie(v[i], v[i+1]);
if(arie < 0)
arie = -arie;
fout << (double)arie/2;
return 0;
}