Pagini recente » Cod sursa (job #1103937) | Cod sursa (job #1348345) | Cod sursa (job #2982850) | Cod sursa (job #1522058) | Cod sursa (job #1463639)
#include<cstdio>
#include<cassert>
#include<cmath>
#define DIM 100005
using namespace std;
struct nume
{
double x, y;
};
nume v[DIM];
int N, i;
double A;
int main( void )
{
assert(freopen("aria.in","r",stdin));
assert(freopen("aria.out","w",stdout));
assert(scanf ("%d", &N) == 1);
assert (1 <= N && N <= 100000);
for (i = 1; i <= N; i++)
{
assert(scanf("%lf %lf", &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("%lf", A / 2.0);
}