Pagini recente » Cod sursa (job #1605480) | Cod sursa (job #683982) | Cod sursa (job #624108) | Cod sursa (job #631395) | Cod sursa (job #1839941)
#include <iostream>
#include <stdio.h>
#include <math.h>
#define MAXN 100000+10
using namespace std;
FILE *f, *g;
struct point
{
double x, y;
};
int n;
point v[MAXN];
inline void read()
{
fscanf(f, "%d", &n);
for (int i = 1; i <= n; i++)
{
fscanf(f, "%lf %lf", &v[i].x, &v[i].y);
}
v[++n] = v[1];
}
double dist(point a, point b)
{
double x = a.y - b.y;
double y = b.x - a.x;
return sqrt(x*x+y*y);
}
double perimeter()
{
double sol = 0;
for (int i = 1; i < n; i++)
{
sol += (v[i].x * v[i + 1].y - v[i + 1].x * v[i].y);
//sol += dist(v[i], v[i + 1]);
}
return sol;
}
void write()
{
double sol = perimeter() / 2.0;
fprintf(g, "%lf", sol);
}
int main()
{
f = fopen("aria.in", "r");
g = fopen("aria.out", "w");
read();
write();
fclose(f);
fclose(g);
}