Cod sursa(job #935891)

Utilizator Master011Dragos Martac Master011 Data 5 aprilie 2013 00:24:54
Problema Aria Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<cstdio>
using namespace std;
FILE *in,*out;

const int N = 100100;
struct punct {
    double x;
    double y;
}v[N];
int n;

void citire(){
    fscanf(in,"%d",&n);

    for(register int i =1 ; i<=n; ++i)
        fscanf(in,"%lf%lf",&v[i].x,&v[i].y);
}

inline double modul(double a){
    return a>=0 ? a : -a;
}

void rezolvare(){
    v[n+1].x=v[1].x;
    v[n+1].y=v[1].y;
    double S;
    for ( register int i = 1; i <= N; ++i )
        S += ( v[i].x * v[i + 1].y - v[i + 1].x * v[i].y );
    fprintf(out,"%lf",modul(S*0.5));
}

int main(){
    in=fopen("aria.in","r");
    out=fopen("aria.out","w");

    citire();
    rezolvare();

    return 0;
}