Pagini recente » Cod sursa (job #2173377) | Cod sursa (job #2343124) | Cod sursa (job #2443642) | Cod sursa (job #51508) | Cod sursa (job #1528308)
#include <cstdio>
using namespace std;
const int DIM = (1<<17);
struct str { double x,y; } V[DIM];
double Area; int N;
inline double abs (double X) {
return (X > 0) ? X : -X;
}
inline double getArea (double X1, double Y1, double X2, double Y2, double X3, double Y3) {
return (X3 - X1) * (Y2 - Y1) - (X2 - X1) * (Y3 - Y1);
}
int main ()
{
freopen ("aria.in" ,"r", stdin );
freopen ("aria.out","w", stdout);
scanf ("%d", &N);
for (int i = 1; i <= N; i ++)
scanf ("%lf %lf", &V[i].x, &V[i].y);
V[++N] = V[1];
for (int i = 1; i < N; i ++)
Area += getArea (V[i].x, V[i].y, V[i+1].x, V[i+1].y, 0, 0);
printf ("%.5f\n", abs (Area / 2));
fclose (stdin );
fclose (stdout);
return 0;
}