Pagini recente » Cod sursa (job #403120) | Cod sursa (job #719102) | Cod sursa (job #2461900) | Cod sursa (job #2229510) | Cod sursa (job #1319178)
#include<fstream>
#include<cmath>
#include<iomanip>
using namespace std;
typedef double long var;
var M, N;
var arie(var x1, var x2, var y1, var y2) {
if(x1 == x2) return 0;
if(y1 == y2) {
return y1*(x2-x1);
}
else {
M = (x2-x1)/(y2-y1);
N = (y1*x2-y2*x1)/(x2-x1);
}
return M*(x2*x2-x1*x1)/2+N*(x2-x1);
}
ifstream fin("aria.in");
ofstream fout("aria.out");
int main() {
int n;
var A = 0;
fin>>n;
var x1, y1;
fin>>x1>>y1;
var xc, yc, xl = x1, yl = y1;
for(int i=2; i<=n; i++) {
fin>>xc>>yc;
A += arie(xl, yl, xc, yc);
xl = xc;
yl = yc;
}
A += arie(xc, yc, x1, y1);
fout<<fixed<<setprecision(10)<<abs(A);
}