Cod sursa(job #1838642)

Utilizator georgerapeanuRapeanu George georgerapeanu Data 1 ianuarie 2017 15:39:15
Problema Aria Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstdio>
#include <fstream>
#define x first
#define y second
using namespace std;
FILE *f=fopen("aria.in","r");
FILE *g=fopen("aria.out","w");
pair<double,double> V[100005];
int N;
double rez;
double modul(double x)
{
    if(x<0)
        return -x;
    return x;
}
double det(pair<double,double> a,pair<double,double> b,pair<double,double> c)
{
    return a.x*b.y+b.x*c.y+c.x*a.y-a.x*c.y-b.x*a.y-c.x*b.y;
}
int main()
{
    fscanf(f,"%d",&N);
    for(int i=1;i<=N;i++)
    {
        fscanf(f,"%lf %lf",&V[i].x,&V[i].y);
    }
    for(int i=2;i<N;i++)
    {
        rez+=det(V[1],V[i],V[i+1]);
    }
    rez=modul(rez);
    fprintf(g,"%.5f",rez/2);
    fclose(f);
    fclose(g);
    return 0;
}