Cod sursa(job #1871158)

Utilizator DanyBvGeorge-Daniel Gagiu DanyBv Data 7 februarie 2017 10:47:08
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <cstdio>
#include <vector>

using namespace std;

vector<pair<double, double> > V;
int n;
double x, y;
double aria;

double getArea(pair<double, double> p1, pair<double, double> p2)
{
    return 0.5 * ((p1.first - p2.first) * (p1.second + p2.second));
}

void read()
{
    freopen("aria.in", "r", stdin);
    scanf("%d", &n);
    for(int i = 0; i < n; i++)
    {
        scanf("%lf %lf", &x, &y);
        V.push_back(make_pair(x, y));
    }
}

void solve()
{
    for(int i = 0; i < n - 1; i++)
        aria += getArea(V[i], V[i + 1]);
    aria += getArea(V[n - 1], V[0]);
}

void print()
{
    freopen("aria.out", "w", stdout);
    printf("%.5lf", aria);
}

int main()
{
    read();
    solve();
    print();
    return 0;
}