Cod sursa(job #1414695)
Utilizator | Data | 2 aprilie 2015 21:41:52 | |
---|---|---|---|
Problema | Aria | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include<fstream>
#include<iomanip>
using namespace std;
double abs(double x)
{
if (x<0) return x*(-1);
return x;
}
struct point
{
double x,y;
};
point a[100007];
int i,n;
double sol;
int main()
{
ifstream cin("aria.in");
ofstream cout("aria.out");
cin>>n;
for (i=1; i<=n; ++i) cin>>a[i].x>>a[i].y;
a[n+1].x=a[1].x;
a[n+1].y=a[1].y;
for (i=1; i<=n; ++i) sol+=(a[i].x*a[i+1].y-a[i+1].x*a[i].y);
sol/=2;
cout<<setprecision(5)<<abs(sol);
return 0;
}