Cod sursa(job #1117149)

Utilizator raulmuresanRaul Muresan raulmuresan Data 23 februarie 2014 09:46:55
Problema Aria Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include<cstdio>
using namespace std;

int n,i,j,d,k;
double x,y,arie;

struct punct
{
    double x,y;
}v[100010];

inline double semn( int A, int B, int C ) {

    return ( double )v[ A ].x*v[ B ].y + v[ B ].x*v[ C ].y + v[ C ].x*v[ A ].y - v[ A ].y*v[ B ].x - v[ B ].y*v[ C ].x - v[ C ].y*v[ A ].x;
}



int main()
{
    freopen("aria.in","r",stdin);
    freopen("aria.out","w",stdout);

    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%lf%lf",&v[i].x,&v[i].y);
        x=x+v[i].x;
        y=y+v[i].y;
    }
    v[0].x=x;
    v[0].y=y;
    v[n+1]=v[1];

    for(i=1;i<=n;i++)
    {
        //printf("%d",i);
        //printf("%lf\n",semn(i,i+1,0));
        arie=arie+semn(i,i+1,0)/2;
    }
    printf("%.10lf\n",arie);
}