Cod sursa(job #1099002)

Utilizator mircea.dobreanuMircea Dobreanu mircea.dobreanu Data 5 februarie 2014 14:02:35
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<cstdio>
#include<utility>
#define x first
#define y second
using namespace std;
const int MAXN=100005;
typedef pair<double,double> point;
int n;
double arie=0.0;
point p[MAXN];
void read()
{
    freopen("aria.in","r",stdin);
    scanf("%d",&n);
    for (int i=1; i<=n; ++i)
        scanf("%lf%lf",&p[i].x,&p[i].y);
}
double cross_product(point A,point B)
{
    return A.x*B.y-A.y*B.x;
}
void solve()
{
    int i;
    p[n+1]=p[1];
    for (i=1; i<=n; ++i)
        arie+=cross_product(p[i],p[i+1]);
    arie/=2.0;
}
void write()
{
    freopen("aria.out","w",stdout);
    printf("%.5lf\n",arie);
}
int main()
{
    read();
    solve();
    write();
    return 0;
}