Pagini recente » Cod sursa (job #1405996) | Cod sursa (job #3276882) | Cod sursa (job #553024) | Cod sursa (job #512676) | Cod sursa (job #1107662)
#include <cstdio>
using namespace std;
struct punct { double x, y; };
int N;
punct v[100000];
void read() {
scanf("%d", &N);
for(int i = 0; i < N; ++i) {
scanf("%lf%lf", &v[i].x, &v[i].y);
}
}
int main(int argc, char *argv[]) {
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
read();
double aria = 0;
for(int i = 1; i < N - 1; ++i) {
double dx1 = v[i].x - v[0].x;
double dy1 = v[i].y - v[0].y;
double dx2 = v[i + 1].x - v[0].x;
double dy2 = v[i + 1].y - v[0].y;
double det = (dx1 * dy2 - dx2 * dy1);
aria += det;
}
printf("%lf\n", aria / 2);
return 0;
}