Pagini recente » winter-challenge-2008/runda-2/solutii | Monitorul de evaluare | Istoria paginii problema/bordura | Diferente pentru moisil-2015/solutii intre reviziile 10 si 15 | Cod sursa (job #2539407)
#include <fstream>
#include <iomanip>
#define X first
#define Y second
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
long double sol;
int i,n;
pair<long double,long double> v[100010];
long double arie(pair<long double, long double> a,pair<long double, long double> b,pair<long double, long double> c){
return (b.X-a.X)*(c.Y-a.Y)-(c.X-a.X)*(b.Y-a.Y);
}
int main(){
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i].X>>v[i].Y;
v[0]=v[n];
for(i=0;i<n;i++)
sol+=arie(v[0],v[i],v[i+1]);
fout<<setprecision(6)<<fixed<<sol/2.0;
return 0;
}