Cod sursa(job #2368475)

Utilizator Username01Name Surname Username01 Data 5 martie 2019 16:18:52
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <cstdio>
#include <cmath>
#include <algorithm>

using namespace std;
FILE *f,*g;

struct bla
{
    double x,y;
}v[102],G;

double  det(bla A, bla B,bla C)
{
    double x1=A.x,x2=B.x,x3=C.x,y1=A.y,y2=B.y,y3=C.y;
    return (x1*y2+x2*y3+x3*y1-x3*y2-y3*x1-x2*y1);
}
bool how(bla I,bla J)
{
    return (atan2(I.x-G.x,I.y-G.y)>atan2(J.x-G.x,J.y-G.y));
}

int main()
{
    f=fopen("a.in","r");
    g=fopen("a.out","w");
    int n;
    fscanf(f,"%d",&n);
    for(int i=1;i<=n;++i)
        fscanf(f,"%lf %lf",&v[i].x,&v[i].y),G.x+=v[i].x,G.y+=v[i].y;
    G.x/=n;
    G.y/=n;
    sort(v+1,v+n+1,how);
    double arie=0;
    for(int i=2;i<n;++i)
        arie+=det(v[1],v[i],v[i+1]);
    arie=arie*0.5;
    fprintf(g,"%0.5lf",arie);
    fclose(f);
    fclose(g);
    return 0;
}