Pagini recente » Cod sursa (job #2895835) | Cod sursa (job #481453) | Cod sursa (job #1294226) | Cod sursa (job #971325) | Cod sursa (job #1452685)
#include <iostream>
#include <fstream>
#include <list>
const char IN[] = "aria.in", OUT[] = "aria.out";
const int NMAX = 100001;
struct point {
double x, y;
};
using namespace std;
point P[NMAX];
int N;
inline void read_data() {
freopen(IN, "r", stdin);
scanf("%d", &N);
for (int i = 0; i < N; ++i) {
double x, y;
scanf("%lf %lf", &P[i].x, &P[i].y);
}
fclose(stdin);
}
double area() {
double S = 0;
P[N] = P[0];
for (int i = 0; i < N; ++i)
S += (P[i].x * P[i + 1].y - P[i + 1].x*P[i].y);
if (S < 0) S = -S;
return S/2.0f;
}
int main() {
read_data();
fprintf(fopen(OUT, "w"), "%.6f", area());
return 0;
}