Pagini recente » Cod sursa (job #2585695) | Cod sursa (job #1124988) | Cod sursa (job #1192082) | Cod sursa (job #360768) | Cod sursa (job #1456602)
#include <cstdio>
#include <algorithm>
#define f first
#define s second
using namespace std;
pair <double, double> v[100010];
inline double det (pair <double, double> x, pair <double, double> y, pair <double, double> z)
{
return 1.0 * (x.f * y.s + y.f * z.s + x.s * z.f - z.f * y.s - x.f * z.s - x.s * y.f);
}
int main ()
{
freopen ("aria.in", "r", stdin);
freopen ("aria.out", "w", stdout);
int n;
scanf ("%d", &n);
for (int i = 1; i <= n; ++i)
scanf ("%lf %lf", &v[i].f, &v[i].s);
v[n + 1] = v[1];
double sup = 0.0;
for (int i = 1; i <= n; ++i)
{
double x = det (make_pair (0.0, 0.0), v[i], v[i + 1]);
x *= 10000.0;
x = (double)(int)x;
x /= 10000.0;
sup += x;
sup *= 10000.0;
sup = (double)(int)sup;
sup /= 10000.0;
}
sup /= 2.0;
sup *= 10000.0;
sup = (double)(int)sup;
sup /= 10000.0;
printf ("%.5lf\n", sup);
return 0;
}