Cod sursa(job #1838651)

Utilizator georgerapeanuRapeanu George georgerapeanu Data 1 ianuarie 2017 15:45:06
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 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);
    }
    V[N+1]=V[1];
    for(int i=1;i<=N;i++)
    {
        rez+=det(make_pair(0,0),V[i],V[i+1]);
    }
    rez=modul(rez);
    fprintf(g,"%.6f",rez/2.0);
    fclose(f);
    fclose(g);
    return 0;
}