Cod sursa(job #903499)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 1 martie 2013 21:26:39
Problema Aria Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1.08 kb
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cassert>

#include <fstream>
#include <iomanip>
#include <algorithm>
#include <vector>
#include <string>
#include <queue>
#include <map>

#define x first
#define y second

using namespace std;

typedef long long LL;
typedef vector<int>::iterator it;

const int oo = 0x3f3f3f3f;
const int MAX_N = 100005;
typedef pair<double, double> Point;

Point P[MAX_N];
int N;
double Solution;

inline double Det(Point P1, Point P2) {
    return P1.x * P2.y - P1.y * P2.x;
}

double Area() {
    double A = 0;
    for (int i = 1; i <= N; ++i)
        A += 0.5 * Det(P[i], P[i + 1]);
    return abs(A);
}

void Solve() {
    P[N + 1] = P[1];
    Solution = Area();
}

void Read() {
    ifstream in("aria.in");
    in >> N;
    for (int i = 1; i <= N; ++i)
        in >> P[i].x >> P[i].y;
    in.close();
}

void Print() {
    ofstream out("aria.out");
    out << fixed << setprecision(4) << Solution << "\n";
    out.close();
}

int main() {
    Read();
    Solve();
    Print();
    return 0;
}