Cod sursa(job #1776255)

Utilizator Victor24Vasiesiu Victor Victor24 Data 11 octombrie 2016 08:39:58
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include <bits/stdc++.h>

using namespace std;

#define x first
#define y second

ifstream f ("aria.in");
ofstream g ("aria.out");

pair <int, int> pct[1000010], l, k, q;

int n, i, j, m;

double ariaTotala;

double aria ( pair <int, int> a, pair <int, int> b, pair <int, int> c )
{
    double ans;

    ans = a.x * b.y + b.x * c.y + c.x * a.y - c.x * b.y - a.x *c.y - b.x * a.y;
    ans = ans*1/2;
    return ans;
}

int main ()
{
    f>>n;

    for (i=1; i<=n; i++)
    {
        f>>pct[i].x>>pct[i].y;
    }

    pct[n+1]=pct[1];
    q.x=0;
    q.y=0;
    for (i=1; i<=n; i++)
    {
        l=pct[i];
        k=pct[i+1];

        ariaTotala = ariaTotala + aria( l, k, q );
    }

    if (ariaTotala<0)
    {
        ariaTotala*=-1;
    }

    g.precision(5);

    g<<fixed<<ariaTotala;

    return 0;
}