Cod sursa(job #1059445)

Utilizator cameleonGeorgescu Dan cameleon Data 16 decembrie 2013 18:29:48
Problema Aria Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <cstdio>
#include<cmath>
using namespace std;
#define Nmax 100005
struct punct{
double x,y;
}  p[Nmax];
int n;
double pr,aria,l[4];
int main()
{
    int i,j;
    freopen("aria.in","r",stdin);
    freopen("aria.out","w",stdout);
    scanf("%d",&n);
    scanf("%lf %lf",&p[1].x,&p[1].y);
    scanf("%lf %lf",&p[2].x,&p[2].y);
    l[1]=sqrt((p[1].x-p[2].x)*(p[1].x-p[2].x)+(p[1].y-p[2].y)*(p[1].y-p[2].y));
    for(i=3; i<=n; i++)
    {
        scanf("%lf %lf",&p[i].x,&p[i].y);
        l[2]= sqrt((p[i].x-p[i-1].x)*(p[i].x-p[i-1].x)+(p[i].y-p[i-1].y)*(p[i].y-p[i-1].y));
        l[3]= sqrt((p[i].x-p[1].x)*(p[i].x-p[1].x)+(p[i].y-p[1].y)*(p[i].y-p[1].y));
        pr=(l[1]+l[2]+l[3])/2;
        aria+=sqrt(pr*(pr-l[1])*(pr-l[2])*(pr-l[3]));
        l[1]=l[3];

    }
    printf("%lf\n",aria);
    return 0;
}