Cod sursa(job #1046346)
| Utilizator | Data | 2 decembrie 2013 20:52:42 | |
|---|---|---|---|
| Problema | Aria | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
using namespace std;
int n, s;
struct punct
{
double x, y;
}v[ 100010 ];
int main()
{
freopen( "aria.in","r",stdin );
freopen( "aria.out","w",stdout );
int i;
scanf( "%d",&n );
for ( i = 1; i <= n; i++ )
scanf( "%lf%lf",&v[ i ].x,&v[ i ].y );
v[ n + 1 ] = v[ 1 ];
for ( i = 1; i <= n; i++ )
s += ( v[ i ].x * v[ i + 1 ].y - v[ i ].y * v[ i + 1 ].x );
if ( s < 0 ) s *= -1;
printf( "%lf",s / 2.0 );
}