Pagini recente » Cod sursa (job #1040483) | Cod sursa (job #1582795) | Cod sursa (job #1724703) | Cod sursa (job #1900074) | Cod sursa (job #1528307)
#include<fstream>
#include<iomanip>
#define x first
#define y second
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
int n;
double aria;
pair<double,double> v[100005];
double A( pair<double,double> a, pair<double,double> b, pair<double,double> c ){
return ( (c.x - a.x) * (b.y - a.y) - (b.x - a.x) * ( c.y - a.y ) );
}
int main(){
fin >> n;
for( int i = 1; i <= n; i++ ){
fin>> v[i].x >> v[i].y ;
}
n++;
v[n] = v[1];
v[0].x = 0;
v[0].y = 0;
aria = 0;
for( int i = 1; i <= n - 1; i++ ){
aria += A( v[0], v[i], v[i+1] );
}
if( aria < 0){
aria = 0 - aria;
}
fout<< setprecision(6) << fixed << aria/2;
return 0;
}