Cod sursa(job #1758241)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 16 septembrie 2016 20:45:47
Problema Aria Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <iomanip>
#define VAL 100005

using namespace std;

ifstream fin("aria.in");
ofstream fout("aria.out");

struct punct
{
    double x;
    double y;
};

punct v[VAL];

int N, i;
double Arie;

double det(int a, int b, int c)
{
    double Ar;
    Ar=v[a].x*v[b].y+v[b].x*v[c].y+v[c].x*v[a].y;
    Ar-=(v[a].x*v[c].y+v[b].x*v[a].y+v[c].x*v[b].y);
    Ar/=2;
    if (Ar<0)
      Ar*=-1;
    return Ar;
}

int main()
{
    fin >> N;
    for (i=1; i<=N; i++)
    {
        fin >> v[i].x >> v[i].y;
        if (i>=3)
          Arie+=det(1, i-1, i);
    }
    fout << fixed << setprecision(7) << Arie << '\n';
    fin.close();
    fout.close();
    return 0;
}