Pagini recente » Cod sursa (job #470979) | Cod sursa (job #2764969) | Cod sursa (job #1363959) | Cod sursa (job #1687329) | Cod sursa (job #1528297)
#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 ) )/2;
}
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 = -1000005;
v[0].y = -1000005;
aria = 0;
for( int i = 1; i <= n; i++ ){
aria += A( v[0], v[i], v[i+1] );
}
if( aria < 0){
aria = 0 - aria;
}
fout<< aria << setprecision(5) << fixed ;
return 0;
}