Pagini recente » Diferente pentru problema/secvente intre reviziile 49 si 24 | Cod sursa (job #1789437) | Cod sursa (job #1565563) | Cod sursa (job #1003096) | Cod sursa (job #1046346)
#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 );
}