Cod sursa(job #1463027)

Utilizator TeodorescuStefanEduardTeodorescu Stefan Eduard TeodorescuStefanEduard Data 19 iulie 2015 17:45:52
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <list>
#include <assert.h>
 
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() {
    assert(freopen(IN, "r", stdin));
    assert(scanf("%d", &N));
    for (int i = 0; i < N; ++i) {
        assert(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;
}