Pagini recente » Cod sursa (job #2741253) | Cod sursa (job #1138236) | Cod sursa (job #1604562) | Cod sursa (job #2985068) | Cod sursa (job #1347930)
#include<fstream>
#include<iomanip>
using namespace std;
int n, i;
double d, a;
pair<double, double> v[100001];
ifstream fin("aria.in");
ofstream fout("aria.out");
double det(double X1, double Y1, double X2, double Y2, double X3, double Y3){
return (X3 - X1) * (Y2 - Y1) - (X2 - X1) * (Y3 - Y1);
}
int main(){
fin>> n;
for(i = 1; i <= n; i++){
fin>> v[i].first >> v[i].second;
}
for(i = 1; i < n; i++){
d = det(0, 0, v[i].first, v[i].second, v[i+1].first, v[i+1].second);
a += d;
}
d = det(0, 0, v[n].first, v[n].second, v[1].first, v[1].second);
a += d;
a /= 2;
if(a < 0){
a = -a;
}
//fout<<a <<"\n";
fout<<setprecision(8)<<fixed<< a <<"\n";
return 0;
}