Cod sursa(job #2360533)

Utilizator Username01Name Surname Username01 Data 1 martie 2019 21:48:40
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <cstdio>
#include <algorithm>
#include <cmath>

using namespace std;
FILE *f,*g;

double X,Y;
struct bla
{
    double x,y;
}v[100002];

bool how(bla A, bla B)
{
    if(A.x!=B.x)
        return (A.x<B.x);
    return (A.y<B.y);
}
int det(bla A, bla B)
{
    int x1=A.x,x2=B.x,y1=A.y,y2=B.y;
    return (x1*y2+x2*Y+X*y1-y2*X-Y*x1-y1*x2);

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