Cod sursa(job #2317172)
Utilizator | Data | 12 ianuarie 2019 21:49:17 | |
---|---|---|---|
Problema | Aria | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
#include <iomanip>
#include <cmath>
using namespace std;
ifstream in("aria.in");
ofstream out("aria.out");
int n;
double r;
struct point
{ int x,y;
}p[100001];
int arie(point a,point b,point c)
{ a.x-=c.x;
a.y-=c.y;
b.x-=c.x;
b.y-=c.y;
return fabs((double)(a.x*b.y-b.x*a.y)/2);
}
int main()
{ in>>n;
for(int i=1;i<=n;i++)
in>>p[i].x>>p[i].y;
for(int i=1;i<=n-2;i++)
r+=arie(p[i],p[i+1],p[i+2]);
out<<setprecision(5)<<fixed<<r;
in.close();
out.close();
return 0;
}