Cod sursa(job #1463633)

Utilizator mirupetPetcan Miruna mirupet Data 21 iulie 2015 13:20:33
Problema Aria Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<cstdio>
#include<cassert>
#include<cmath>
#define DIM 100005
using namespace std;

int N, i;
float A;

struct nume
{
    float x, y;
};
nume v[DIM];


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

        assert(scanf ("%d", &N) == 1);

        for (i = 1; i <= N; i++)
        {
            assert(scanf("%f%f", &v[i].x, &v[i].y) == 2);
            assert (-10000000 <= v[i].x && v[i].x <= 10000000);
            assert (-10000000 <= v[i].y && v[i].y <= 10000000);
        }
        v[N+1] = v[1];

        for (i = 1; i <= N; i++)
            A += (v[i].x * v[i + 1].y - v[i + 1].x * v[i].y);
        if ( A < 0)
            A = -A;
        printf("%.6f", (A / 2.0));
    }