Cod sursa(job #976154)

Utilizator andrettiAndretti Naiden andretti Data 22 iulie 2013 17:12:11
Problema Aria Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<stdio.h>
#include<math.h>
#define maxn 100005
using namespace std;

struct point{double x,y;} p[maxn];
int n;
double area;

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

double side(point a,point b,point c)
{
    return (c.x-a.x)*(b.y-a.y)-(c.y-a.y)*(b.x-a.x);
}

void solve()
{
    for(int i=2;i<n;i++)
     area+=fabs(side(p[1],p[i],p[i+1]))/2;
}

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

    read();
    solve();
    printf("%.5lf",area);

    fclose(stdin);
    fclose(stdout);
    return 0;
}